Тесты проходят только на 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).
Как запустить этот скрипт на удаленной машине в конце теста (именно на той в которой проходил тест). Может кто сталкивался с такой проблемой?
Написать службу (если речь о Windows) или просто программку, которая будет убивать нужный процесс, работая на стороне сервера . Команду на kill process может получать хоть из банального текстового файла (проверяет триггер в файле с необходимой периодичностью). Не очень красивый способ, но рабочий.