Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как указать webdriver'у, что бы он подхватывал уже открытый браузер?


(Iurii) #1

Всем привет.
Работаю с связке Fitnesse+Selenium. Тестирование сайта проходит под сессией определенного пользователя. Что бы не терять credential сессии, и не тратить время на открытие нового браузера для каждой фикстуры, хочется открыть один раз окно браузера в первом тесте и закрыть его в последнем.
В RC это получилось сделать через запуск сервера:

java -jar selenium-server-standalone-2.33.0.jar -browserSessionReuse

и затем запуск каждого нового теста начинается с:

selenium = new DefaultSelenium(“localhost”, 4444, “*firefox”, url);

selenium.start();

и заканчивается:

selenium.stop();

В таком виде мы получали результат описанный выше - при первом тесте запускается FF, и потом все остальные тесты (новый тест = новая фикстура) проходят в этом же окне браузера.

Как это же реализовать на webdriver’е?


(Дмитрий Жарий) #2

В случае с ВебДрайвером, нужно переиспользовать не браузер, а экземпляр объекта ВебДрайвера и передавать его между тестами.
Вот есть пример

Это будет отлично работать внутри одного процесса.

Я не знаю, как это работает, но если вдруг Фитнес будет запускать по отдельному процессу на каждый тест, то тут можно применить хак с подменой сессии через HTTP Proxy
http://blog.zhariy.com/2013/06/webdriver-fiddler.html


(Iurii) #3

Да, спасибо большое. Вариант с использованием static объекта помог. :slight_smile: