如何通过MVN命令行传递CromeOptions

时间:2019-11-18 17:14:45

标签: selenium-chromedriver

目标: 在命令行中传递options.addArguments("--headless");

注意事项: mvn clean test --Chrome.options.AddArguments("--headless)吗?

getDriver方法:

        try {
            java.util.Properties p = new Properties();
            FileInputStream fi = new FileInputStream(System.getProperty("user.dir")
                    + "/src/main/resources/config.properties");
            p.load(fi);
            String browserName = p.getProperty("default.browser");
            switch (browserName) {
                case "chrome" :
                    setChromeDriverPath();
                    ChromeOptions options = new ChromeOptions();
                    options.addArguments("test-type");
                    options.addArguments("--start-maximized");
                    options.addArguments("--no-sandbox");
                    options.addArguments("--disable-dev-shm-usage");
                    //options.addArguments("--kiosk");
                    //options.addArguments("--headless");
                    driver = new ChromeDriver(options);
                    break;
                case "firefox" :
                    System.out.println("BROWSER DRIVER - FIREFOX - NOT IMPLEMENTED YET");
                    break;
                case "safari" :
                    System.out.println("BROWSER DRIVER - SAFARI - NOT IMPLEMENTED YET");
                    break;
            }
        } catch (Exception e) {
            System.out.println("Unable to load browser : getDriver returns : " + e.getMessage());
        }
        return driver;
    }

1 个答案:

答案 0 :(得分:0)

为此,您将必须通过系统使用属性功能的概念。通常,您将需要创建一些变量,例如浏览器,版本,是否无头等,并使它们作为代码示例内的属性可读。每次执行mvn命令时,您都将在命令后包含所需的选项,例如通过编写-Dbrowser="Chrome"。之后,您的代码将需要相应地处理值“ Chrome”。有关更多详细信息,请检查此链接here

这是一个非常好的分析。它将解决您的问题。