Как избежать зависания WebDriver в ожидании загрузки Google Ads или Google Analytics?

Я использую Selenium WebDriver (библиотека C#) для автоматизации пользовательского интерфейса. Веб-приложение использует объявления Google и аналитику Google на большинстве страниц.

Когда я запускаю тесты через некоторое время (выполнено около 50 тестов), все тесты зависают и в конечном итоге завершаются с ошибкой, ожидая загрузки рекламы и аналитики Google.

  • У кого-нибудь была эта проблема?
  • Как бы вы обошли эту проблему?

Но прежде чем вы ответите «создайте сборку только для тестов без рекламных скриптов Google», скажем, что это не вариант.


person frennky    schedule 08.12.2011    source источник


Ответы (1)


Ты мог

  • используйте трюк с файлом hosts, чтобы заблокировать рекламные серверы Google (но это заблокирует их для всех пользователей этот ПК, а не только тесты селена)
  • настройте http-прокси, такой как squid, и настройте его для возврата пустого контента с этих сайтов.
  • используйте собственный профиль Firefox, который использует NoScript для блокировки этих сайтов
person artbristol    schedule 08.12.2011
comment
Первое решение приемлемо, так как я настрою виртуальную машину только для автотестов. Но я был бы признателен за пример третьего решения. Можете ли вы показать мне какой-нибудь фрагмент или ссылку на пример этого? - person frennky; 08.12.2011
comment
Не могу найти много информации о том, как это сделать в Selenium 2, но code.google.com/ p/selenium/wiki/FirefoxDriver должен помочь (вы должны создать профиль, а затем установить webdriver.firefox.profile во время настройки теста) - person artbristol; 08.12.2011