Я использую Selenium-serenity для моего теста интеграции. По умолчанию selenium интегрирует FirefoxDriver для WebDriver, но теперь я пытаюсь использовать PhantomJS. Я не мог найти до сих пор, как правильно установить драйвер после инициализации.Set PhantomJS webDriver on Serenity
До сих пор, что я сделал это переопределить метод getDriver() из pageObject и вернуть phantomJs WebDriver
private static WebDriver webDriver;
@Override
public WebDriver getDriver() {
if (webDriver == null) {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "/Users/pabloperezgarcia/Downloads/phantomjs");
webDriver = new PhantomJSDriver(caps);
setDriver(webDriver);
}
return webDriver;
}
Но проблема заключается в том, что каждое отдельное действие над WebDriver не распространяются на другие страницы, потому что, конечно мы возвращаем только singleton webDriver, но не super.getDriver().
Мой вопрос в том, как я могу правильно настроить webdriver на безмятежность, чтобы делиться состоянием между несколькими объектами страниц, которые являются новыми экземплярами.
С Firefox кажется работает отлично.
Как вы управляете своими объектами? Вы пытались передать phantomjs в качестве значения свойства webdriver.driver? Вы проводите тесты локально или удаленно? – user2272115
Использование Serenity с по умолчанию webDriver (Firefox) Я не создавал никакого файла свойств, просто аннотации к моему коду, и все работало нормально – paul