如果我们在UI自动化的时候,难免会遇到需要在多个浏览器环境下进行测试或者兼容。那么我们不可能每次在一个浏览器场景下都初始化driver。所以我们需要判断我们当前用的是哪个浏览器,就取哪个浏览器的driver。
package com.selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import java.util.Locale;
public class WebTools {
WebDriver driver;
public WebDriver Open(String browser){
if (browser.toLowerCase(Locale.ROOT).equals("firefox")){
System.setProperty("webdriver.gecko.driver","F:\\driver\\geckodriver.exe");
//设置日志位置
System.setProperty(FirefoxDriver.SystemProperty.BROWSER_LOGFILE, "E:\\WebDriversLog\\firefox.log");
driver = new FirefoxDriver();//new FirefoxDriver();
return driver;
}else if (browser.toLowerCase(Locale.ROOT).equals("chrome")){
System.setProperty("webdriver.chrome.driver","F:\\driver\\chromedriver.exe");
driver = new ChromeDriver();
return driver;
}else if(browser.toLowerCase(Locale.ROOT).equals("ie")){
System.setProperty("webdriver.ie.driver","F:\\driver\\ie.exe\\");
driver =new InternetExplorerDriver();
return driver;
}
return null;
}
}
下面我们来测试一下,如果我们用的是chrome,那么我们就调用chrome驱动。
package com.selenium;
import org.openqa.selenium.WebDriver;
public class test {
public static void main(String[] args) throws InterruptedException {
WebTools webTools = new WebTools();
WebDriver driver = webTools.Open("chrome");
driver.manage().window().maximize();
driver.get("http://www.baidu.com");
Thread.sleep(1000);
driver.quit();
}
}