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

     

  • 相关阅读:
    APIO 2010 特别行动队 斜率优化DP
    洛谷 P2747 Canada Tour 周游加拿大 动态规划
    VIJOS-P1282 佳佳的魔法照片 排序
    [APIO2012]派遣 可并堆
    可并堆模板题-mergeable heap
    可并堆总结
    分治思想及树上点分治
    拉丁字母(英语)缩写
    区块链是什么?跟比特币有什么关系?
    究竟什么比特币?如何理解比特币?
  • 原文地址:https://www.cnblogs.com/x495122903/p/13362206.html
Copyright © 2020-2023  润新知