1、HtmlUnitDriver
WebDriver包括一個(gè)基于HtmlUnit的無界面實(shí)現(xiàn),稱為HtmlUnitDriver,即使用HtmlUnit時(shí)并不會打開真實(shí)的瀏覽器,而是在內(nèi)存中執(zhí)行代碼,因此運(yùn)行速度很快,但是對JavaScript的支持不夠好,當(dāng)頁面上有復(fù)雜的JavaScript元素時(shí),經(jīng)常捕捉不到。
eclipse測試?yán)尤缦拢?br />
WebDriver dr = new HtmlUnitDriver();
dr.get(“http://www.baidu.com“);
WebElement element = dr.findElement(By.name(“wd”));
element.sendKeys(“webdriver”);
element.submit();
Thread.sleep(5000);
System.out.println(“page title is:”+dr.getTitle());
運(yùn)行成功時(shí)控制臺會打印百度搜索頁面標(biāo)題“page title is:webdriver_百度搜索”。
2、Firefox
WebDriver實(shí)現(xiàn)了FireFoxDriver,無需用戶下載FireFoxDriver。
優(yōu)點(diǎn):FireFoxDriver對頁面的自動(dòng)化測試支持得比較好,很直觀地模擬頁面的操作,對JavaScript的支持也非常完善,基本上頁面上做的所有操作FireFox Driver都可以模擬。
缺點(diǎn):啟動(dòng)很慢,運(yùn)行也比較慢,不過,啟動(dòng)之后Webdriver的操作速度雖然不快但還是可以接受的,建議不要頻繁啟動(dòng)停止FireFoxDriver。
使用Firefox瀏覽器只需要設(shè)置WebDriver driver = new FirefoxDriver(),前提是你的Firefox被安裝在默認(rèn)的位置。
操作系統(tǒng) Firefox默認(rèn)安裝位置
Linux firefox (found using “which”)
Mac /Applications/Firefox.app/Contents/MacOS/firefox
Windows %PROGRAMFILES%Mozilla Firefoxfirefox.exe
如果你的FireFox沒有被安裝在指定的位置,可以設(shè)置“webdriver.firefox.bin”來指定它的位置,java代碼如下:
System.setProperty(“webdriver.firefox.bin”,”thelocation of Firefox”);
eclipse測試?yán)尤缦拢?br />
System.setProperty(“webdriver.firefox.bin”,”D:Mozilla Firefoxfirefox.exe”);
WebDriver dr = new FirefoxDriver();
dr.get(“http://www.baidu.com“);
WebElement element = dr.findElement(By.name(“wd”));
element.sendKeys(“webdriver”);
element.submit();
Thread.sleep(5000);
System.out.println(“page title is:”+dr.getTitle());
3、Chrome
webdriver沒有實(shí)現(xiàn)chromedriver,要使用chrome瀏覽器需要自己下載chromedriver.exe(下載地址:http://code.google.com/p/chromedriver/downloads/list),這個(gè)程序是由Chrome團(tuán)隊(duì)提供的,你可以看做它是鏈接WebDriver和Chrome瀏覽器的橋梁。
eclipse例子如下:
System.setProperty(“webdriver.chrome.driver”,”D:chromedriverchromedriver.exe”); //指定chromedriver的路徑
System.setProperty(“webdriver.chrome.bin”,”C:Documents and SettingsgongjfLocal SettingsApplication DataGoogleChromeApplicationchrome.exe”); //chrome沒有安裝在默認(rèn)路徑時(shí),指定chrome.exe的路徑
WebDriver driver = new ChromeDriver();
driver.get(“http://www.baidu.com“);
4、IE
webdriver要使用IE瀏覽器需要下載InternetExplorerDriver.exe(下載地址:http://code.google.com/p/selenium/downloads/list),根據(jù)瀏覽器的版本下載32位或者64位的driver。
注意:需要將IE瀏覽器各個(gè)區(qū)域的保護(hù)模式設(shè)置的一樣,要么全勾選,要么全不勾選,工具–Internet選項(xiàng)–安全。還需要將頁面的縮放比例設(shè)置為
優(yōu)點(diǎn):直觀地模擬用戶的實(shí)際操作,對JavaScript提供完善的支持。
缺點(diǎn):是所有瀏覽器中運(yùn)行速度慢的,并且只能在Windows下運(yùn)行,對CSS以及XPATH的支持也不夠好。
System.setProperty(“webdriver.ie.driver”,”D:iedriverIEDriverServer.exe”); //設(shè)置IEDriverService.exe的路徑;如果IE沒有安裝在默認(rèn)目錄,同樣需要設(shè)置webdriver.ie.bin
WebDriver driver = new InternetExplorerDriver();
driver.get(“http://www.baidu.com“);