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

Как убить процесс на удалённой машине? (Selenium Grid)

selenium-grid
selenium
webdriver
Теги: #<Tag:0x00007f7b656f6250> #<Tag:0x00007f7b656d9d80> #<Tag:0x00007f7b656dbbf8>

(Srx) #1

Тесты проходят только на IE (как известно он довольно капризный).

Бывают случаи если тест падает то driver.quit(); не всегда отрабатывает (допустим какой либо модальный диалог не даёт закрыть окно) и браузер не закрывается, потом эти открытые окна накапливаются. Иногда и драйвер остаётса в процессах.

Чтобы решить проблему использовал скрипт в @AfterClass
Runtime.getRuntime().exec(“taskkill /F /IM IEDriverServer.exe”);
Runtime.getRuntime().exec(“taskkill /F /IM iexplore.exe”);

Теперь перехожу на Selenium grid и проблема следущая:

Скрипт
Runtime.getRuntime().exec(“taskkill /F /IM IEDriverServer.exe”); выполняется на Хост машине а не на Ноде (remote).

Как запустить этот скрипт на удаленной машине в конце теста (именно на той в которой проходил тест). Может кто сталкивался с такой проблемой?


(Mykhailo Poliarush) #2

Посмотрите Selenium-Grid-Extras ссылку можно найти тут https://github.com/atinfo/awesome-test-automation/blob/master/java-test-automation.md


(Sergey Korol) #3

(sidelnikovmike) #4

Да, как раз как только прочитал - сразу вспомнил, что @ArtOfLife уже писал пост об этом.


(Srx) #5

Спасибо. Буду изучать.

Ребят, а есть ли какой нибуть простой способ “попросить” Нод убить процесс в конце теста, без установки всаких дополнительных extensions с кучей фич?


(Sergey Korol) #6

Натравить какой-нибудь powershell / psexec с рутовыми креденшалами на удаленную тачку, передав команду убиения процесса.


(Konstantin Pulin) #7

Написать службу (если речь о Windows) или просто программку, которая будет убивать нужный процесс, работая на стороне сервера . Команду на kill process может получать хоть из банального текстового файла (проверяет триггер в файле с необходимой периодичностью). Не очень красивый способ, но рабочий.


(Srx) #8

Решил следущим способом:

Получаю IP Нода

Выполнаю тасккилл на Ноде
http://www.windows-commandline.com/kill-remote-process/

Пока не знаю оставлю ли так. Посмотрю на стабильность работы и на сколько больше времени будет забирать:)