一、Selenium2的原理

Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于JS的同源策略,也就是JS只能在一个域中的页面进行通讯,如果跨域,则就不能访问了,所以导致了如果页面中有iframe 时,就无法操作了。

Selenium2是Selenium1+WebDriver的产物;

而WebDriver是Google的产品;Google收购Selenium1之后,整合了其自己的WebDriver,推出了Selenium WebDriver ,也就是我们所说的Selenium2。

Selenium2很好的解决了这个JS注入的安全性问题,其实现原理就从根本上改变了,Selenium2在启动WebDriver的过程中,会 首先确认比较浏览器与driver是否匹配,如果匹配,就会启动浏览器,然后把浏览器绑定在某一个端口,且在浏览器中启动一整套web service,这套web service使用了Selenium2自己定义的协议,这套协议在主流浏览器中是通用的,然后浏览器此时就作为了一个service,测试脚本就作为了 client,client发送的任何一个Selenium2的API都被转成了一个http request,当web service接收到这个request后,就会响应,这套协议就会告诉浏览器需要干什么事儿。

二、Selenium WebDriver环境搭建-Java

Selenium Java环境安装可以分为三个部分:jdk、Eclipse、Selenium;

 (1)JDK
   1. 可以在官网搜索JDK安装包,现在是JDK1.8,双击就可以安装;
   2. 配置环境变量(不懂怎么配环境变量-找度娘);
   3. 安装完成检测;
(2)Eclipse
    Eclipse去官网下载安装包,无需安装,解压即可使用,解压到哪个位置自己随意;
    Eclipse下载地址:http://www.eclipse.org/downloads/
打开Eclipse需要设定workspace,workspace是Eclipse创建的java项目存放的地方;
(3)Selenium2
   我们共需要3个jar文件:
  selenium-java-2.44.0.jar、
  selenium-java-2.44.0-srcs.jar、
  selenium-server-standalone-2.44.0.jar,可以自行到selenium官网下载;