Запуск remotewebdriver для selenide в обертке Docker+jbehave

maven
linux
docker
centos
jbehave
webdriver
selenide
java
Теги: #<Tag:0x00007fedb91ce108> #<Tag:0x00007fedb91cdf28> #<Tag:0x00007fedb91cdd70> #<Tag:0x00007fedb91cdbe0> #<Tag:0x00007fedb91cdaa0> #<Tag:0x00007fedb91cd910> #<Tag:0x00007fedb91cd7a8> #<Tag:0x00007fedb91cd668>

(Dzmitry Ihnatsyeu) #1

Всем привет!

Окружение, в котором должны запускаться тесты развертывается с помощью докера, а значит напрямую запустить браузер не получиться( т.к. тесты запускаются на чистой CentOS ноде) -> веб-драйвер должен запускаться по remoteUrl.

Какой лучший способ задать RemoteDriver в Selenide?
Единственное, что нашел это через WebDriverRunner.setWebDriver(myWebDriver). Но как говорит мануал, в данном случае нам самим надо заботиться о закрытии драйвера ( хотя не совсем понятно почему, если мы передаем инстанс вебдрайвера) что не совсем хотелось бы делать. Хочется воспользоваться всеми преимуществами Selenide :slight_smile:

P.S. на всякий случай, тесты запускаются через jbehave-maven-plugin, goal: run-stories-as-embeddables


(Dez Dezsson) #2

А в чём проблема? Просто нужно в тирдаун добавить driver.close() и всё


(Dzmitry Ihnatsyeu) #3

Конечно можно, но хочется использовать все возможности Selenide: раз уж фреймворк берет на себя управление веб драйвером, то пусть делает это до конца.
А так по логике можно воспользоваться методом getDriver() и все, вообще не будет никаких проблем с Selenide, используй чистый веб драйвер


(Ilja Pavlovs) #4

А не поможет ли настройка -Dremote=<адрес грида>? Как описано тут - http://selenide.org/javadoc/2.10/com/codeborne/selenide/Configuration.html#remote


(asolntsev) #5

Привет!
Как сказал @iljapavlovs, самое простое - добавить опцию -Dremote=<адрес грида>.

Если почему-то хочется зафигачить больше разных настроек, можно ещё создать класс-фабрику для вебдрайвера, то есть реализовать класс WebdriverProvider. В нём нужно реализовать один-единственный метод WebDriver createDriver(DesiredCapabilities desiredCapabilities);

Тогда все возможности Selenide будут использованы по максимуму.


(Dzmitry Ihnatsyeu) #6

Спасибо за советы, вариант с фабрикой нравиться больше :slight_smile: