selenium 3 ie java_【Java+selenium3】 Firefox/ IE/ Chrome主流瀏覽器自動化環境搭建(一)

一、java+selenium+firefox

1.環境准備:JDK1.8

2.安裝firefox瀏覽器v59

3.下載驅動:https://github.com/mozilla/geckodriver/releases

a7f9539acc05f912d98e739d82df603e.png

4.selenium依賴pom.xml導入:https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java

selenium 歷史版本鏡像下載地址:https://npm.taobao.org/mirrors/selenium

org.seleniumhq.selenium

selenium-java

3.5.1

5.代碼實現

packagecn.test;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.firefox.FirefoxDriver;public classFirefoxDemo01 {public static voidmain(String[] args) {

WebDriver driver=null;try{//自定義安裝Firefox路徑

System.setProperty("webdriver.firefox.bin", "D:\\Firefox59\\App\\Firefox\\firefox.exe");//存放Firefox驅動的路徑

System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver.exe");

driver= newFirefoxDriver();

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

}catch(Exception e) {

e.printStackTrace();

}finally{

driver.quit();

System.out.println("執行結束,關閉瀏覽器");

}

}

}

二、java+selenium+IE

1.JDK1.8已安裝

2.selenium3.51 依賴包上述已經導入;

3.下載IE驅動地址:https://npm.taobao.org/mirrors/selenium/3.5/

25e00c66f1218c09586b66cdc7255534.png

4.代碼實現

packagecn.test;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.ie.InternetExplorerDriver;importorg.openqa.selenium.remote.DesiredCapabilities;public classIEDemo02 {public static voidmain(String[] args) {

WebDriver driver= null;try{//指定IEDriver的存放路徑

System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");//創建Capabilities對象

DesiredCapabilities capabilities = newDesiredCapabilities();//瀏覽器安全模式保持一致(通過代碼忽略設置安全模式保持一致)

capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);//瀏覽器縮放比例保持正常(忽略瀏覽器縮放比例設置)

capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

driver= newInternetExplorerDriver(capabilities);

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

Thread.sleep(3000);

}catch(Exception e) {

e.printStackTrace();

}finally{//關閉瀏覽器

driver.quit();

System.out.println("執行結束,關閉IE瀏覽器");

}

}

}

f58b59e7f5545f2fd934dc3277db373b.png

5.常見報錯信息

(1) IE驅動路徑未指定,導致找不到IE驅動報錯如下:

75ae1a1fc96c4a36550ca505bac83bc1.png

解決方法如下:

//指定IEDriver的存放路徑

System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");

2.IE 安全模式設置

org.openqa.selenium.SessionNotCreatedException: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode must be set to the same value (enabled or disabled) forall zones.//百度翻譯僅供參考

org.openqa.selenium。啟動Internet Explorer SessionNotCreatedException:意想不到的錯誤。 保護模式設置為所有區域是不一樣的。啟用保護模式必須設置為相同的值為所有區域(啟用或禁用)。

64cb4d659cc10db2d2eb2927914546b1.png

解決方法如下:

//創建Capabilities對象

DesiredCapabilities capabilities = newDesiredCapabilities();//瀏覽器安全模式保持一致(通過代碼忽略設置安全模式保持一致)

capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);

WebDriver driver= new InternetExplorerDriver(capabilities);

3.瀏覽器的縮放比例保持正常

org.openqa.selenium.SessionNotCreatedException: Unexpected error launching Internet Explorer. Browser zoom level was set to 111%. It should be set to 100%

//通過360瀏覽器翻譯,僅供參考

org.openqa.selenium。啟動Internet Explorer SessionNotCreatedException:意想不到的錯誤。瀏覽器縮放級別設置為111%。它應該被設置為100%

f77b1064f63c53d50e03988cf67d3cc7.png

解決方法如下:

//瀏覽器縮放比例保持正常(忽略瀏覽器縮放比例設置)

capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

driver= new InternetExplorerDriver(capabilities);

三、java+selenium+chrome

1.JDK1.8已安裝

2.selenium 3.5.1 依賴已經導入

3.下載chrome驅動:https://npm.taobao.org/mirrors/chromedriver

我的chrome是v53. 所以我下載 v2.25驅動

6195203e51b10069e9c1ad05ac25b606.png

dca77dae78b850e6391c4e3a470f3188.png

注意:Chrome瀏覽器版本與ChromeDriver版本映射表查看鏈接:https://www.cnblogs.com/xiaozhaoboke/p/10107349.html

4.代碼實現:

packagecn.test;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;public classChromeDemo03 {public static void main(String[] args) throwsInterruptedException {//自定義安裝chrome路徑,默認安裝目錄不需要配置此項//System.setProperty("webdriver.chrome.bin", "xxx");//指定chromeDriver存放路徑

System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");

WebDriver driver= newChromeDriver();

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

Thread.sleep(3000);

driver.quit();

System.out.println("關閉瀏覽器,執行結束!");

}

}

常見報錯:

68c0122cb70c762fdb57a0c986ef0527.png

Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded fromhttp://chromedriver.storage.googleapis.com/index.html

//解決辦法

System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");

四、引入testNG整合三大瀏覽器代碼示例:

1.testng導入依賴

org.testng

testng

6.9.10

test

2.新建一個父類BaseCase來實現瀏覽器的前期准備工作

packagecn.test;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.chrome.ChromeDriver;importorg.openqa.selenium.firefox.FirefoxDriver;importorg.openqa.selenium.ie.InternetExplorerDriver;importorg.openqa.selenium.remote.DesiredCapabilities;importorg.testng.annotations.AfterSuite;importorg.testng.annotations.BeforeSuite;importorg.testng.annotations.Parameters;importorg.testng.annotations.Test;public classBaseCase {public static WebDriver driver =null;/**根據提供的瀏覽器類型初始化驅動

*@parambrowserType*/@Parameters(value= {"browserType"})

@BeforeSuitepublic voidinit(String browserType) {//firefox

if("firefox".equalsIgnoreCase(browserType)) {

System.setProperty("webdriver.firefox.bin", "D:\\Firefox59\\App\\Firefox\\firefox.exe");

System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver.exe");

driver= newFirefoxDriver();

}else if("chrome".equalsIgnoreCase(browserType)) {//chrome

System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");

driver= newChromeDriver();

}else if("ie".equalsIgnoreCase(browserType)) {//ie System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe"); DesiredCapabilities capabilities = newDesiredCapabilities(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);

driver= newInternetExplorerDriver(capabilities);

}

}

@AfterSuitepublic voidover() {

driver.quit();

System.out.println("執行結束,關閉瀏覽器!");

}

}

3.testng.xml來配置參數,實現瀏覽器的選擇性執行

4.執行用例AutoDemo01,直接繼承父類來實現瀏覽器驅動的初始化

packagecn.test;importorg.openqa.selenium.By;importorg.testng.annotations.Test;importcn.test.BaseCase;public class AutoDemo01 extendsBaseCase{

@Testpublic void test() throwsInterruptedException {

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

driver.findElement(By.id("kw")).sendKeys("開始編寫自動化腳本來執行測試用例");

Thread.sleep(3000);

}

}

5.執行TestNG Suite

a5faf0b4c65e987aff1f53faf2c82377.png

6.學習后總結,不足之處后續補充修正!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值