【Selenium專題】WebDriver啟動Chrome瀏覽器(一)


selenium操作chrome瀏覽器需要有ChromeDriver驅動來協助。
一、什么是ChromeDriver?
ChromeDriver是Chromium team開發維護的,它是實現WebDriver有線協議的一個單獨的服務。ChromeDriver通過chrome的自動代理框架控制瀏覽器,ChromeDriver只與12.0.712.0以上版本的chrome瀏覽器兼容。

二、啟動chrome瀏覽器
那么要想selenium成功的操作chrome瀏覽器需要經歷如下步驟:
1、下載ChromeDriver驅動包(下載地址:http://chromedriver.storage.googleapis.com/index.html?path=2.7/

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

public static void main(String[] args) {

           // TODO Auto-generated method stub

//設置訪問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瀏覽器在各個系統默認位置:
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

三、chromedriverService

執行以上代碼你會發現ChromeDriver僅是在創建是啟動,調用quit時關閉瀏覽器,ChromeDriver是輕量級的服務若在一個比較大的測試套件中頻繁的啟動關閉,會增加一個比較明顯的延時導致瀏覽器進程不被關閉的情況發生,為了避免這一狀況我們可以通過ChromeDriverService來控制ChromeDriver進程的生死,達到用完就關閉的效果避免進程占用情況出現(Running the server in a child process)。
具體實現如下:
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();
// 關閉 ChromeDriver 接口
service.stop();

【轉自】http://www.spasvo.com/ceshi/open/kygncsgj/Selenium/20131213102816.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM