Тест с хромом без головы в Selenium Grid - PullRequest
0 голосов
/ 26 апреля 2018

Я успешно запускаю безголовый Chrome с автономным сервером Selenium с

chromeOptions: {
    args: ["--headless"]
}

Но когда я решил отправить его в Selenium Grid, это не сработало для меня.

Как правильно настроить безголовый режим для Selenium Node / Chrome

Я также не совсем понимаю, где мне настраивать удаленный экземпляр Chrome. Я вижу, что на стороне клиента есть множество настроек конфигурации. Я также вижу набор возможностей в конфигурационном файле Selenium Node. Я установил безголовый флаг с обеих сторон, но оба они не работали вообще.

Спасибо

1 Ответ

0 голосов
/ 09 ноября 2018

Python

При создании объекта Remote() webdriver в качестве аргумента вы можете добавить desired_capabilities, словарь, подобный следующему:

{'platform': 'ANY', 'browserName': 'chrome', 'javascriptEnabled': True, 'goog:chromeOptions': {'extensions': [], 'args': ['headless', 'window-size=1920x1080']}, 'version': ''}

Существует также to_capabilities() метод объекта ChromeOptions(), который возвращает настроенные параметры Chrome в качестве словаря.

Вот пример того, как это сделать:

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('headless')
chrome_options.add_argument('window-size=1920x1080')
capabilities = {'browserName': 'chrome', 'javascriptEnabled': True}
capabilities.update(chrome_options.to_capabilities())
drv_chrome = webdriver.Remote(command_executor = 'http://192.168.122.60:4444/wd/hub', desired_capabilities = capabilities)
...