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浏览器========");

 

posted @ 2020-07-22 17:43  小町  阅读(418)  评论(0编辑  收藏  举报