使用Selenium啟動IE瀏覽器
Selenium Webdriver啟動IE瀏覽器需要使用到IE瀏覽器的驅動InternetExplorerDriver,一個exe檔案,所以首先需要下載InternetExplorerDriver。
具體啟動步驟:
推薦下載32位的,比64位的更穩定些。這個zip檔案解壓後,就得到IEDriverServer.exe檔案。
將這個exe檔案放在自己電腦的一個路徑下面,這個路徑就是在步驟2指令碼中用到的路徑。
指令碼中啟動IE瀏覽器的關鍵語句如下:
2. 在指令碼中要通過下面的語句(基於java)指定IEDriverServer.exe所在的路徑
// 指定IE driver的存放路徑 System.setProperty("webdriver.ie.driver", "D:\\BrowserDriver\\IEDriverServer.exe");
3. 定義一個叫driver的WebDriver物件,通過new關鍵字來啟動IE瀏覽器
//例項化webdriver物件,啟動IE瀏覽器
WebDriver driver = new InternetExplorerDriver();
4. 當然在指令碼中肯定要引入webdriver及IE相關的包
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
下面讓我們通過一個簡單的訪問百度的例子來體驗一下啟動IE瀏覽器吧
package learnwebdriver; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class UseBrowserIE { public static void main(String[] args) { // 指定IE driver的存放路徑 System.setProperty("webdriver.ie.driver", "D:\\BrowserDriver\\IEDriverServer.exe"); //例項化webdriver物件,啟動IE瀏覽器 WebDriver driver = new InternetExplorerDriver(); //通過物件driver呼叫具體的get方法來開啟網頁 driver.get("http://www.baidu.com/"); //退出瀏覽器 // driver.quit(); } }
把上面的指令碼放到eclipse的一個類中UseBrowserIE.java,選中這個java檔案,右鍵中選擇run as-->Java Application
就可以看到成功啟動了IE瀏覽器,並且打開了百度。
IE瀏覽器的一些問題:
1. IE瀏覽器的執行速度相對於火狐和chrome等其它瀏覽器來說,速度要慢,所以更容易遇到“NoSuchElementFound”的異常,在對元素定位時儘量使用CSS Selector,在自動化測試中儘量使用火狐或谷歌做為預設的主測瀏覽器。
2. 有些電腦,在初次啟動IE時,會有一個防火牆的彈窗提示,選擇允許,再次執行指令碼即可。
3. IE瀏覽器的縮放比率(zoom level)要是預設的100%,否則要報下面類似的錯誤:
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unexpected error launching Internet Explorer. Browser zoom level was set to 130%. It should be set to 100%
********************************************************************************************************
近期我會在部落格中系統的更新一些關於Selenium的文章,也請大家多多關注我的視訊課程:
*********************************************************************************************************