В идеале каждый из ваших тестов должен начинаться с чистого состояния, когда не запущены существующие процессы Firefox или IE. В ваших тестовых методах tearDown () вы должны закрывать / закрывать свои браузеры. Даже при таком подходе иногда могут появляться скрытые процессы. Если вы запускаете свой сервер Selenium в Windows через Java RC, то добавление этой команды в метод startUp () ваших тестов может помочь убедиться, что браузеры / экземпляры не работают:
Runtime.getRuntime().exec("TASKKILL /F /IM Firefox.exe");
Runtime.getRuntime().exec("TASKKILL /F /IM iexplore.exe");
Что касается обнаружения сбоя, Firefox отобразит диалоговое окно с предупреждением о сбое. Вы можете программно взаимодействовать с этим окном с помощью внешних инструментов, таких как AutoIT, которые могут автоматически нажимать кнопку «ОК» в этом диалоговом окне, если вам нужно. Я обнаружил, что очень полезно создать внешний скрипт AutoIT, который постоянно работает в фоновом режиме для обработки всплывающих окон, сбоев, предупреждений и т. Д.