t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f9afa6979d0> #<Tag:0x00007f9afa697908> #<Tag:0x00007f9afa697840>

Тесты проходят только на 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).

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

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

2 Симпатий

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

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

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

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

1 Симпатия

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

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

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

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

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