Selenium2.0功能測(cè)試之如何使用Remote WebDriver
可能目前使用WebDriver的絕大多數(shù)人還沒(méi)有接觸到Remote WebDriver,所以對(duì)Remote WebDriver沒(méi)有一個(gè)概念,其實(shí)可以把Remote WebDriver理解成為在遠(yuǎn)程PC上執(zhí)行WebDriver用例。
那么遠(yuǎn)程的好處在哪里呢?除了可以更方便的進(jìn)行跨平臺(tái)、瀏覽器的測(cè)試外,最重要的一點(diǎn)是排除我們本地環(huán)境的污染,因?yàn)槲覀?a target="_self" style="word-break: break-all; color: #202859; text-decoration: none; line-height: normal !important; ">工作用的PC其實(shí)我們安裝了很多的軟件,那么在coding的時(shí)候這些軟件對(duì)環(huán)境的污染就難免不對(duì)我們的代碼產(chǎn)生影響,最后就很容易造成代碼在我這運(yùn)行良好,但是到了別人那就跑不起來(lái)了或者結(jié)果有差異,這時(shí)我們就需要一個(gè)干凈的PC環(huán)境作為一個(gè)驗(yàn)證機(jī),在自己的PC上編寫(xiě)完代碼后在驗(yàn)證機(jī)上進(jìn)行Remote執(zhí)行驗(yàn)證(當(dāng)然有犟嘴的說(shuō)我可以把代碼拷過(guò)去執(zhí)行啊,不需要Remote WebDriver啊,對(duì)于這樣的人我們就不強(qiáng)求他了。。。)。下面直接搭建Remote環(huán)境:
需要另外一個(gè)PC, 在這個(gè)PC上安裝JDK以及需要執(zhí)行的瀏覽器的driver(安裝方法看我前面的如何搭建Selenium環(huán)境那章)
將這個(gè) selenium-server-standalone-2.35.0.jar (這里的2.35.0不是固定的可以是其他版本)拷貝到任意一個(gè)目錄下,用控制臺(tái)進(jìn)入這個(gè)目錄執(zhí)行: java -jar selenium-server-standalone-2.35.0.jar 如果看到如下圖就證明Remote PC 的Server 配置成功了
下面直接編寫(xiě)Remote WebDriver代碼了(這里用到了JUnit4估計(jì)都會(huì)我就不細(xì)說(shuō)了,以后可能會(huì)寫(xiě)點(diǎn)TestNG快速入門的文章)
package org.coderinfo.demo; import java.net.URL; import java.util.concurrent.TimeUnit; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.AssertJUnit; /** * @author CoderInfo * @E-mail coderinfo@163.com * */ public class RemoteWebDriverDemo { private static final String URL = "http://www.baidu.com"; private static WebDriver driver; @Before public void setUp() throws Exception { DesiredCapabilities dc = DesiredCapabilities.chrome(); // 設(shè)置需要驅(qū)動(dòng)的瀏覽器,其他的瀏覽器都是以此類推 driver = new RemoteWebDriver(new URL( "http://10.127.206.130:4444/wd/hub"), dc); // 這個(gè)URL // 10.127.206.130 // 是要remote PC 的IP // Address,需要改為你自己的 driver.manage().timeouts().pageLoadTimeout(60, TimeUnit.SECONDS); // 設(shè)置頁(yè)面加載超時(shí)的最大時(shí)長(zhǎng) } @After public void tearDown() throws Exception { driver.quit(); } @Test public void test() throws InterruptedException { driver.get(URL); // 訪問(wèn)度娘首頁(yè) driver.findElement(By.id("kw")).sendKeys("CoderInfo"); driver.findElement(By.id("su")).click(); Thread.sleep(10000); AssertJUnit.assertEquals("CoderInfo_百度搜索", driver.getTitle()); } } |
posted on 2013-11-01 11:26 順其自然EVO 閱讀(447) 評(píng)論(0) 編輯 收藏 所屬分類: selenium and watir webdrivers 自動(dòng)化測(cè)試學(xué)習(xí)