美文网首页首页投稿(暂停使用,暂停投稿)我爱编程
Selenium驱动火狐、IE、Edge和Chrome浏览器的方

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

作者: 呆呆冬 | 来源:发表于2017-06-23 16:28 被阅读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();//关闭打开的浏览器
      }
    
    }
    

    相关文章

      网友评论

        本文标题:Selenium驱动火狐、IE、Edge和Chrome浏览器的方

        本文链接:https://www.haomeiwen.com/subject/eyvccxtx.html