#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 без каких-либо проблем.