WebDriver与Selenium

发表于:2014-04-04来源:博客园作者:思勉点击数: 标签:探索式测试
我们正致力于完善帮助指南的每一个章节,虽然这个章节仍然存在需要完善的地方,不过我们坚信当前你看到的帮助信息是精确无误的,后续我们会提供更多的指导信息来完善帮助文档。

  注意:我们正致力于完善帮助指南的每一个章节,虽然这个章节仍然存在需要完善的地方,不过我们坚信当前你看到的帮助信息是精确无误的,后续我们会提供更多的指导信息来完善帮助文档。

  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

  5.如何将自动化工程从Selenium1.0迁移到Selenium2.0

  已经在Selenium1.0上构建测试工程的用户,我们为您提供了一份指导如何将已有的代码迁移到Selenium2.0。Selenium2.0的首席开发工程师Simon Stewart为此撰写了一片文章:Magrating From Selenium RC to Selenium WebDriver。

  6.Selenium-WebDriver API简介

  WebDriver可以用来实现Web应用程序的自动化测试,特别适合于验证实际结果是否符合预期结果的场景。WebDriver旨在提供比 Selenium1.0更加易用、友好的API,便于用户的探索和理解,从而使测试用例变得容易阅读和维护。WebDriver没有使用任何第三方测试框架,所以它可以很好与单元测试工具或者最古老的main函数结合使用。本章节将介绍如何使用WebDriver的API,帮助你慢慢开始了解 WebDriver。如果你还没有新建一个Selenium工程,请先完成这个操作,在这个章节的上面有详细的描述。

  当你创建完Selenium工程后,你会发现WebDriver和普通的第三方库一样是完全独立的,在你使用之前不需要启动任何额外的进程或者安装程序,相反如果你使用Selenium-RC需要先启动代理服务器

  注意:当你使用如下WebDriver时需要额外的步骤:Chrome Driver,Opera Driver,Android Driver,IPhone Driver。

  现在你肯定跃跃欲试要写一些代码了。我们以一个简单的例子来开始第一段旅程:在Google上搜索“Cheese”,并打印出搜索结果网页的标题。

原文转自:http://www.cnblogs.com/keepsilent/p/3530825.html