Как остановить Chrome от запроса поисковой системы во время тестов Selenium - PullRequest
0 голосов
/ 20 января 2012

Когда я запускаю тесты селена, которые используют Chrome в качестве браузера, тесты зависают. Причина в том, что, поскольку браузер работает как пользователь SYSTEM, он постоянно выдает запрос Chrome для выбора поисковой системы. Если я запускаю сервер selenium в интерактивном режиме и в качестве зарегистрированного пользователя выбираю поисковую систему, это позволит запустить тесты. Однако при следующем запуске тестов я получаю приглашение.

Можно ли избежать такого поведения?

Ответы [ 2 ]

0 голосов
/ 21 января 2012

Я могу предложить вам 2 варианта:

а. Открыть Chrome с определенным профилем .

б. Напишите и запустите процедуру установки перед любыми тестами, которая откроет страницу настроек браузера и сделает все, что вам нужно:

from selenium.webdriver import Chrome


SETTINGS_PAGE_URL = 'chrome://settings/browser'
SEARCH_ENGINE_DROPDOWN_ID = 'defaultSearchEngine'
SEARCH_ENGINE_CHOICE_XPATH = '//option[text()="Google"]'

browser = Chrome()
browser.get(SETTINGS_PAGE_URL)

dropdown = browser.find_element_by_id(SEARCH_ENGINE_DROPDOWN_ID)
option = dropdown.find_element_by_xpath(SEARCH_ENGINE_CHOICE_XPATH)
option.click()

browser.get('http://wherever.you/need/to/go/next/')

Я бы использовал опцию a.

0 голосов
/ 20 января 2012

Это случилось со мной и в Firefox. Я запустил Firefox как администратор и ответил на все запросы один раз.

В следующий раз, когда я запустил сценарии селена, эти модалы не показывались. Не уверен, относится ли это непосредственно к Chrome, но определенно стоит попробовать.

Дайте мне знать, если это сработало?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...