1. 程式人生 > >使用Selenium啟動IE瀏覽器

使用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的文章,也請大家多多關注我的視訊課程:

*********************************************************************************************************