java+selenium+testng(二)打开/关闭浏览器
1、操作浏览器,需要先下载浏览器驱动
chrome浏览器驱动下载地址:http://npm.taobao.org/mirrors/chromedriver/
firefox浏览器驱动下载地址:https://github.com/mozilla/geckodriver/releases
下载完成后可以放到 src/test/resources 目录下
2、导入依赖
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
3、打开浏览器的代码(BrowserUtil)
/**
* 打开浏览器
* @param browserType 打开浏览器的类型
*/
public static void openBrowser(String browserType){
browserName = browserType;
if(browserType != ""){
if(browserType.equals("chrome")){
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
WebDriver driver = new ChromeDriver();
setDriver(driver);
logger.info("========打开chrome浏览器========");
}else if(browserType.equals("firefox")){
//代码省略
logger.info("========打开firefox浏览器========");
}else if(browserType.equals("ie")){
//代码省略
logger.info("========打开ie浏览器========");
}
}
}
4、关闭浏览器代码(BrowserUtil)
/**
* 关闭浏览器
*/
public static void closeBrowser() {
logger.info("========关闭浏览器========");
getDriver().quit();
}
PS,经济实用的无头浏览器模式写法
(在没有桌面GUI的情况下,可以使用无头浏览器模式。我个人在调试代码的时候,不喜欢在本地打开太多页面,也直接使用了本地浏览器),下面介绍下无头浏览器模式的写法,以chrome浏览器为例
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
//支持chrome无头浏览器模式
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("headless");
WebDriver driver = new ChromeDriver(chromeOptions);
setDriver(driver);
logger.info("========打开chrome浏览器========");