首页投稿(暂停使用,暂停投稿)我爱编程

Selenium驱动火狐、IE、Edge和Chrome浏览器的方

2017-06-23  本文已影响2921人  呆呆冬

1. 火狐(firefox)

从Selenium2.x切换到Selenium 3.X后,发现老的方法驱动不了Firefox浏览器了。
用老的方法执行代码后,控制台报出“java.lang.IllegalStateException”错误,提示Firefox驱动必须以“webdriver.gecko.driver”环境变量初始化;如果需要更多信息,请点击https://github.com/mozilla/geckodriver

Firefox驱动文件版本下载地址,请点击https://github.com/mozilla/geckodriver/releases

2. IE

下载最新版的IEDriverServer.exe

3. Edge

(参考地址:http://blog.csdn.net/qq_29720415/article/details/53521746

(1)首先找驱动:
官网下载地址:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
打开这个网址后,我们要根据自己电脑的操作系统版本来决定下载哪个版本的webdriver:

如果webdriver跟操作系统不匹配,那么是驱动不了浏览器的。

(2)查看自己win10操作系统build的方法:
开始-设置-系统-关于-OS版本 像我的电脑就是14393.447的 所以驱动我就下的是Release 14393

4.Chrome

根据Chrome浏览器版本下载对应的chromedriver,当然,一般情况下我们下载最新版的驱动即可。
下载地址:https://sites.google.com/a/chromium.org/chromedriver/

5.下载后的驱动放置到同一路径,方便使用:

6.Selenium驱动以上浏览器的方法:

package example;

import org.testng.annotations.Test;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Parameters;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.Assert;
import org.testng.annotations.AfterTest;

public class MultipleBrowserSearchTest {
    public WebDriver driver; 
    @Parameters("browser")
  
  @BeforeTest
  public void beforeTest(String Browser) {
        //分别启动火狐、IE、Edge和Chrome浏览器
        if(Browser.equalsIgnoreCase("firefox")){
            System.setProperty("webdriver.gecko.driver", "D:\\selenium\\drivers\\geckodriver.exe");
            driver = new FirefoxDriver(); 
        }else if(Browser.equalsIgnoreCase("ie")){
            System.setProperty("webdriver.ie.driver", "D:\\selenium\\drivers\\IEDriverServer.exe");
            driver = new InternetExplorerDriver(); 
        }else if(Browser.equalsIgnoreCase("edge")){
            System.setProperty("webdriver.edge.driver", "D:\\selenium\\drivers\\MicrosoftWebDriver14393.exe");
            driver = new EdgeDriver(); 
        }else{
            System.setProperty("webdriver.chrome.driver", "D:\\selenium\\drivers\\chromedriver2.30.exe");
            driver = new ChromeDriver(); 
        }
        driver.manage().window().maximize();
         
  }
  
  @Test
  public void mallcooTest() {
      //打开测试库标准版后台
      driver.get("http://mp-t.mallcoo.cn/");
      WebElement usernameInputBox=driver.findElement(By.id("username"));
      Assert.assertTrue(usernameInputBox.isDisplayed());
      usernameInputBox.sendKeys("xxx");
      WebElement passwordInputBox=driver.findElement(By.id("password"));
      Assert.assertTrue(passwordInputBox.isDisplayed());
      passwordInputBox.sendKeys("xxx");
  }

  @AfterTest
  public void afterTest() {
      driver.quit();//关闭打开的浏览器
  }

}
上一篇下一篇

猜你喜欢

热点阅读