1.Selenium RC 工作原理
说明:客户端库文件将命令传递给server。接着server使用selenium-core的javaScript命令传递给浏览器,浏览器会使用自带的javaScript翻译器来执行selenium命令。这意味着测试脚本中的selenium操作和验证将被执行。
*:很多博客写的都很好,基本上可以直接参考学习(http://www.cnblogs.com/fnng/archive/2012/02/01/2335215.html)
2.Selenium RC 架构特点
(1)同源规则
在浏览器中打开的不同界面不能相互作用。Selenium Server用来回避这一个问题,让浏览器以为自己在server提供的单一站点上工作。
同源:相同的协议,端口,域名
(2)代理注入
Selenium用来规避同源规则的第一种方法就是代理注入。
Selenium server 像客户端配置的HTTP代理一样工作,位于系统和浏览器之间。
浏览器启动时,使用配置的profile,其中已经设置localhost 4444作为HTTP代理,这就是为什么来自浏览器的HTTP请求都会经过selenium server而且HTTP响应也来自selenium server而非真实的服务器。
(3)提高浏览器权限
高特权模式,它允许浏览器做一些通常不被允许的事情,如XXS。通过该模式,selenium core可以直接带卡待测系统,并读取和操作其中的内容,而不需要通过Selenium RC Server 来传递整个待测系统。
4.Selenium WebDriver工作原理
webdriver使用不同的底层框架,Selenium 遥控器使用JavaScript的Selenium 核嵌入式已经在有一定的局限性的浏览器中。 webdriver直接交互而不与Selenium 远程控制,依赖于服务器上的任何中介的浏览器。