前言:功能自动化测试中的浏览器兼容测试需要用到的方法,可将不同浏览器启动方法进行封装,方便以后直接调用。
要点:1.该方法经测试可支持selenium-java2.44和standalone3.4的jar包。
2.有变化的主要是safari和firefox
3.需要提前下载相关驱动
4.safari浏览器需要进行特殊设置:浏览器环境设置》高级》选择开发者模式复选框后在开发者模式点击允许远程自动化选项。
public class BasePage {
public WebDriver driver;
//启动谷歌浏览器
public WebDriver setupChrome(String test_url){
System.setProperty("webdriver.chrome.driver", "C:/Documents and Settings/Timyang/AppData/Local/Google/Chrome/Application/chromedriver.exe");
driver = new ChromeDriver();
driver.get(test_url);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
return driver;
}
//启动火狐浏览器(需要最新geckodriver.exe,放到firfox的根目录)
public WebDriver setupFirfox(String test_url){
System.setProperty("webdriver.gecko.driver","C:/Program Files/Mozilla Firefox/geckodriver.exe");//这里属性名必须与驱动名关联,驱动名必须带后缀,网上有些文章这里都存在错误,驱动文件目前最新版本是0.19
driver = new FirefoxDriver();
driver.get(test_url);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
return driver;
}
//启动IE浏览器
public WebDriver setupIE(String test_url){
System.setProperty("webdriver.ie.driver", "C:/Program Files (x86)/Internet Explorer/IEDriverServer.exe");//ie浏览器尽量使用ie9以下更高的版本没有测过,ie驱动目前最新为3.5.1
//如下两行为对浏览器的特殊设置
DesiredCapabilities dc = DesiredCapabilities.internetExplorer();
dc.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(dc);
driver.get(test_url);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
return driver;
}
//关闭浏览器
public void teardownBrowser(){
driver.close();
}
}
网友评论