注意:我們正致力于完善幫助指南的每一個章節,雖然這個章節仍然存在需要完善的地方,不過我們堅信當前你看到的幫助信息是精確無誤的,后續我們會提供更多的指導信息來完善幫助文檔。
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”,并打印出搜索結果網頁的標題。