注意:我们正致力于完善帮助指南的每一个章节,虽然这个章节仍然存在需要完善的地方,不过我们坚信当前你看到的帮助信息是精确无误的,后续我们会提供更多的指导信息来完善帮助文档。
1.WebDriver介绍
Selenium 2.0主要的新特性是集成了WebDriver API。我们设计WebDriver的初衷是提供更加简单明了的接口来弥补Selenium-RC API的不足。在动态网页中,通常只会更新局部的html元素,WebDriver会很好的帮助用户快速定位这些元素。我们终的目的是通过提供精心设计的面向对象API来解决现代高级网页中的测试难题。
2.WebDriver如何驱动浏览器?与Selenium-RC有什么区别?
不同类型的浏览器都会有原生的接口支持自动化操作,Selenium通过这些接口直接向浏览器发送指令。如何发送这些指令取决于你当前使用的浏览器类型,我们将在这一章节后面来详细介绍。
看上去WebDriver与之前Selenium-RC的实现方式类似,实际上两者之间存在着本质的区别。对于所有类型的浏览器Selenium- RC都是使用的同一种方法:当浏览器启动时,向其中注入javascript,从而使用这些js来驱动浏览器中的AUT(Application Under Test)。WebDriver并没有使用这种技术,它是通过调用浏览器原生的自动化API直接驱动浏览器。
3.WebDriver与Selenium Server
是否需要是用Selenium Server取决于你使用WebDriver的方式。以下两种情况不需要使用Selenium Server,WebDriver直接运行浏览器即可:1、testcases仅仅使用了Webdriver的API;2、浏览器和testcase在同一台PC上,而且testcases仅仅使用了Webdriver的API。
以下三种情况你需要结合Selenium Server来使用WebDriver:
1)使用Selenium-Grid管理集群环境(或者虚拟机)上的testcase;
2)需要调用非本机上的不同版本的浏览器;
3)未使用任何language binding(java/c#/python/ruby),且有意向使用HtmlUnitDriver。
4.配置Selenium-WebDriver工程
安装Selenium是指在开发环境上配置一个工程,然后可以在这个工程中用Selenium编写程序。如何配置取决于你使用的开发语言和编程环境。
使用Maven是配置一个Selenium 2.0 java工程简单的方式。Maven会下载所有java bingdings以及所有相关的库(the Selenium 2.0 java client library)。通过使用pom.xml(maven配置文件)来新建工程,你可以根据自己的喜好将Maven工程导入IntelliJ IDEA或者Eclipse。
首先,创建一个文件夹存放Maven工程文件。然后,创建pom.xml,你可以使用text editor来编辑。鉴于已经有很多关于“如何在Maven工程中使用pom.xml”的参考文献,这里将不再过多的讨论相关细节。下面给出一个示例,为你的工程也创建一个类似的文件。
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
MySel20Proj
MySel20Proj
1.0
org.seleniumhq.selenium
selenium-java
2.38.0
com.opera
operadriver
com.opera
operadriver
1.5
org.seleniumhq.selenium
selenium-remote-driver
请确认你使用的WebDriver是新的当前版本。在这篇文档撰写时,上述示例给出的是新的版本。在Selenium2.0发布不久WebDriver有过频繁的更新。请在这个链接Maven Download Page确认当前的版本,相应地修改你工程中的pon.xml。
现在,你可以通过dos界面使用CD命令进入工程所在文件夹,通过以下命令运行Maven。
mvn clean install
运行之后会自动下载Selenium及相关套件,并加载到你的工程中去。
后,将你的工程导入到你偏好的IDE中。如果你对导入的过程不是很清楚,我们已经准备了操作指南。
Importing a maven project into IntelliJ IDEA.Importing a maven project into Eclipse