Всем привет!
Пытаюсь настроить выполнение Selenide-тестов в Selenium Grid. Помогите разобраться, пожалуйста.
Ссылка на проект-песочницу: GitHub - msmolyakov/maven-selenide-grid-example
Вкратце суть идеи: мне нужно выполнять тесты в Firefox 24й версии на нескольких нодах (ноды на Linux, хост-машина на Windows, если имеет значение). Браузер должен запускаться сразу в режиме fullscreen.
Открытие браузера выполняю в rules.CommonRule (расширяет TestWatcher рулу).
Вопрос №1
Правильно ли делаю, что для управления настройками браузера описываю свой драйвер FirefoxCustomDriver через реализацию WebDriverProvider?
public class FirefoxCustomDriver implements WebDriverProvider {
@Override
public WebDriver createDriver(DesiredCapabilities desiredCapabilities) {
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.fullscreen.autohide",true);
firefoxProfile.setPreference("browser.fullscreen.animateUp",0);
desiredCapabilities.setCapability(PROFILE, firefoxProfile);
return new FirefoxDriver(desiredCapabilities);
}
}
Вопрос №2
Правильно ли понимаю, что для применения этого драйвера достаточно добавить системный параметр через System.setProperty();
?
System.setProperty("selenide.browser", "webdrivers.FirefoxCustomDriver");
Вопрос №3
Почему не получается перевести браузер в полноэкранный режим командой вебдрайвера ...windows().fullscreen();
?
WebDriverRunner.getWebDriver().manage().window().fullscreen();
Сейчас приходится делать так:
((FirefoxDriver)getWebDriver()).getKeyboard().pressKey(Keys.F11);
Но сейчас он разворачивается только после открытия первой страницы. Можно ли как-то настроить, чтобы браузер сразу открывался в полноэкранном режиме? Может быть через настройки профиля или DesiredCapabilities?
Вопрос №4
На хост-машине поднимаю Selenium Grid хаб командой:
java -jar selenium-server-standalone-2.53.0.jar -role hub
На Linux-нодах поднимаю Selenium Grid ноды командой:
java -jar selenium-server-standalone-2.53.0.jar -role node -hub http://172.16.101.70:4444/grid/register
Ноды успешно регистрируются в хабе. Дальше полагаю, что надо как-то сообщить проекту, где находится хаб. Поэтому на хост-машине запускаю тесты командой:
mvn clean test site -Dremote=http://172.16.101.70:4444/
На что в большом количестве получаю такие сообщения:
ш■э 03, 2016 4:18:42 PM com.codeborne.selenide.impl.WebDriverThreadLocalContainer
getWebDriver
INFO: No webdriver is bound to current thread: 1 - let's create new webdriver
После них браузер так и не запускается. Где я ошибся и как правильно направить тесты в Grid?