Невозможно запустить Firefox 81.0 с помощью webdrivermanager — Testng — Java — Maven

#java #maven #selenium-firefoxdriver #testng-eclipse #webdrivermanager-java

#java #maven #selenium-firefoxdriver #testng-eclipse #webdrivermanager-java

Вопрос:

Я передаю команду mvn с помощью -Dbrowser=firefox никогда не запускает 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();
}
  

Пожалуйста, помогите в устранении этой проблемы. Спасибо.

Ответ №1:

Я загружал значение браузера по умолчанию из файла свойств.

 strBrowser = prop.getProperty("browser");
  

Вместо этого я заменил это утверждение на,

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

Таким образом, значение браузера, полученное из параметров, находится в get (browser), и оно будет проверяться в соответствии с требованиями браузера. Проблема решена. Я смог запустить firefox, edge и Chrome без каких-либо проблем.