0

我使用 -Dbrowser=firefox 传递 mvn 命令从不启动 firefox。下面是我初始化浏览器的代码,它适用于 Chrome,但不启动 Firefox 或 Edge。我已将 webdrivermanager 最新的 maven 依赖项 4.2.2 添加到我的 pom.xml 中。我分别有 Firefox 81.0 和 Edge 85.0 版本。

  public WebDriver Init_Browser(String browser) { 

    strBrowser = prop.getProperty("browser");

    if (strBrowser.equalsIgnoreCase("chrome")) {
        System.setProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY, "true"); // This statement will
                                                                                                // remove rendering
                                                                                                // statements while
                                                                                                // page loading
        WebDriverManager.chromedriver().setup();
        tldriver.set(new ChromeDriver());
    } else if (strBrowser.equalsIgnoreCase("ff") || (strBrowser.equalsIgnoreCase("firefox"))) {         
        WebDriverManager.firefoxdriver().setup();
        tldriver.set(new FirefoxDriver());
    } else if (strBrowser.equalsIgnoreCase("Edge")) {
        WebDriverManager.edgedriver().setup();
        tldriver.set(new EdgeDriver());                                                                                                     
    } else {
        System.out.println("Browser not defined");          
    }
    getDriver().manage().deleteAllCookies();
    getDriver().manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
    return getDriver();
}

请帮助解决此问题。谢谢你。

4

1 回答 1

0

我正在从属性文件加载默认浏览器值。

strBrowser = prop.getProperty("browser");

相反,我将这个声明替换为,

String strBrowser = System.getProperties().get(browser).toString();

因此,来自参数的浏览器值位于 get(browser) 中,它将根据浏览器要求进行验证。问题解决了。我能够毫无问题地启动 firefox、edge 和 chrome。

于 2020-09-29T22:57:26.273 回答