您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
selenium之操作ChromeDriver
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/13 10:25:59 ] 推薦標(biāo)簽:

selenium操作chrome瀏覽器需要有ChromeDriver驅(qū)動來協(xié)助。
什么是ChromeDriver?
ChromeDriver是Chromium team開發(fā)維護(hù)的,它是實現(xiàn)WebDriver有線協(xié)議的一個單獨的服務(wù)。ChromeDriver通過chrome的自動代理框架控制瀏覽器,ChromeDriver只與12.0.712.0以上版本的chrome瀏覽器兼容。
那么要想selenium成功的操作chrome瀏覽器需要經(jīng)歷如下步驟:
1、下載ChromeDriver驅(qū)動包(下載地址:http://chromedriver.storage.googleapis.com/index.html?path=2.7/

注意閱讀note.txt下載與自己所使用瀏覽器一致版本的驅(qū)動包。
2、指定ChromeDriver所在位置,可以通過兩種方法指定:
1)通過配置ChromeDriver.exe位置到path環(huán)境變量實現(xiàn)。
2)通過webdriver.chrome.driver.系統(tǒng)屬性實現(xiàn)。實現(xiàn)代碼如下:
System.setProperty("webdriver.chrome.driver", "C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chromedriver.exe");
3、后需要做的是創(chuàng)建一個新的ChromeDriver的實例。
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
至此我們可以通過chrome瀏覽器來執(zhí)行我們的自動化代碼了。
完整實例代碼如下:

public static void main(String[] args) {

           // TODO Auto-generated method stub

//設(shè)置訪問ChromeDriver的路徑

System.setProperty("webdriver.chrome.driver", "C:\Documents and Settings\Administrator\LocalSettings\Application Data\Google\Chrome\Application\chromedriver.exe");

           WebDriver driver = new ChromeDriver();

           driver.get("http://www.baidu.com/");

 

}
btw:
chrome瀏覽器在各個系統(tǒng)默認(rèn)位置:
OS Expected Location of Chrome
Linux /usr/bin/google-chrome1
Mac /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
Windows XP %HOMEPATH%Local SettingsApplication DataGoogleChromeApplicationchrome.exe
Windows Vista C:Users\%USERNAME%AppDataLocalGoogleChromeApplicationchrome.exe


執(zhí)行以上代碼你會發(fā)現(xiàn)ChromeDriver僅是在創(chuàng)建是啟動,調(diào)用quit時關(guān)閉瀏覽器,ChromeDriver是輕量級的服務(wù)若在一個比較大的測試套件中頻繁的啟動關(guān)閉,會增加一個比較明顯的延時導(dǎo)致瀏覽器進(jìn)程不被關(guān)閉的情況發(fā)生,為了避免這一狀況我們可以通過ChromeDriverService來控制ChromeDriver進(jìn)程的生死,達(dá)到用完關(guān)閉的效果避免進(jìn)程占用情況出現(xiàn)(Running the server in a child process)。
具體實現(xiàn)如下:
ChromeDriverService service = new ChromeDriverService.Builder() .usingChromeDriverExecutable(new File("E:\Selenium WebDriver\chromedriver_win_23.0.1240.0\chromedriver.exe")).usingAnyFreePort().build();
service.start();
driver = new ChromeDriver();
driver.get("http://www.baidu.com");
driver.quit();
// 關(guān)閉 ChromeDriver 接口
service.stop();

軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd