Селен - “Firefox уже выполняет” ошибку

Мы запускаем некоторые тесты с помощью селена. Мы выделили VM's Windows XP для этого с одним селеном сервер RC на каждом VM и никакой другой процесс, работающий на этом VM. Мы открываем и закрыли сеанс селена для каждого теста. Тесты всегда называют selenium.stop (), когда они заканчивают. Много времен (1 в 30 я сказал бы) один тест зависает, и когда я просматриваю рабочий стол машины, которая была выделена ему, я вижу, что всплывающее окно с "Firefox уже работает, но не отвечает. Для открытия нового окна необходимо сначала закрыть существующий процесс Firefox или перезапустить систему".

  • Я уверен, что только один тест общается с VM в установленный срок
  • Все тесты удостоверяются, что остановили () селен, когда они сделаны.
  • у нас есть очень подробный вход, и журнал показывает, что никакой тест не имел проблем перед тестом, который добрался, "Firefox уже выполняет" ошибку.
  • Тест, который получает эту ошибку, произволен, так как это происходит прямо после вызова selenium.start () и таким образом не вызывается никаким определенным кодом.
  • Разрушение является тем же для всех тестов

Что могло вызывать это, и как я могу предотвратить его?

5
задан dsolimano 30 April 2014 в 19:54
поделиться

3 ответа

Мы обнаружили, что в нашем случае причина этого была совершенно не связана с селеном - firefox сам испытывал проблемы, потому что работал на машинах с недостаточным количеством CPU and\or RAM. Мы обновили ВМ (например, добавили больше оперативной памяти и процессора), и проблема исчезла почти полностью.

0
ответ дан 15 December 2019 в 01:03
поделиться

Когда Selenium запускает ваши интеграционные тесты, он буквально запускает новую копию Firefox для каждого теста. Если тест застрял и существует существующая копия Firefox, запущенная с тем же профилем, он не сможет запустить следующую. (Это ограничение Firefox, а не Selenium.) Вы должны убедиться, что:

  • ваш метод teardown закрывает браузер каждый раз с Selenium. stop
  • you use timeouts and the WaitFor*() methods to limit the number of a time a test can spend by execution its instructions
  • you're using a separate profile for Selenium to run in (you should get this automagically if you haven't changed any settings) different from any other Firefox profiles that may already be on the machine
3
ответ дан 15 December 2019 в 01:03
поделиться

Возможно, попробуйте установить переменную окружения MOZ_NO_REMOTE на 1 (или используйте переключатель -no-remote).

1
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: