selenium+java启动不同浏览器的实现方法

前言:功能自动化测试中的浏览器兼容测试需要用到的方法,可将不同浏览器启动方法进行封装,方便以后直接调用。

要点: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();

}

}

你可能感兴趣的:(selenium+java启动不同浏览器的实现方法)