Перейти к содержимому

zxw

Регистрация: 22 фев 2013
Offline Активность: 22 фев 2013 18:25
-----

Мои темы

Как убить IEDriverServer на хабе

22 февраля 2013 - 12:07

Проблема похожая на http://code.google.c.../detail?id=4288

Есть грид с нодом под линуксом и хабом под вин7. Запускаю тест под ИЕ на ноде.
Тест состоит из 20 тестов в каждом из которых создается новый driver (driver = new EventFiringWebDriver(new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability));
_

а в конце теста убивается driver.quit();

Но если тест где-то зависает, он закрывается по timeout и после этого в процессах остается старый IEDriverServer.exe и запущеный им интернет икслорер.
такой сценарий повторяется и IEDriverServer.exe множатся. Обычно если их больше двух то тесты уже не выполняются.

Пытался в начале теста чистить процессы.

public static void clearIE(){
try {
Runtime.getRuntime().exec("cmd /K taskkill /F /IM IEDriverServer.exe");

} catch (IOException e1) {
// TODO Auto-generated catch block

}
try {
Runtime.getRuntime().exec("cmd /K taskkill /F /IM iexplore.exe");
} catch (IOException e) {
// TODO Auto-generated catch block

}
}
Но походу из-за того что тут приложение запущено под линксом а выполняется под виндовсом это не работает.

Как еще можно убить процес из вебдрайвера(java) на удаленном ноде?
или как избежать размножения IEDriver ов?