Итак, я хочу запускать свои тесты в Chrome вместо Firefox (потому что Chrome предлагает возможности мобильной эмуляции) при использовании драйвера Selenium с расширением Mink Behat.Behat-Mink, заставить драйвер Selenium использовать Chrome вместо Firefox
Я запускаю Selenium отдельно на тестовом сервере и выполняю тесты на локальной машине.
Итак, после запуска тестов Behat сеанс Chrome создан, но не используется, вместо этого создается другой параллельный сеанс Firefox и используется для запуска тестовых сценариев.
Я пробовал это также в среде с возможностями графического отображения, поэтому открывается новое окно Chrome, но в адресной строке отображается только data;;
, после чего открывается окно Firefox и запускаются тесты.
Я бегу последнюю версию Chrome (52.0.2743.82), автономный сервер Selenium (2.53.1 - Java версия) и Chromedriver (2.22.397932)
Мой behat.yml
содержит следующее:
default:
extensions:
Behat\MinkExtension:
browser_name: chrome
base_url: "<url to website>"
default_session: selenium_chrome_session
goutte: ~
sessions:
selenium_chrome_session:
selenium2:
browser: chrome
wd_host: "http://<testing server host>:4444/wd/hub"
capabilities:
extra_capabilities:
chromeOptions:
args:
- "--start-maximized"
- "--test_type"
После просмотра логфайла Selenium автономного сервера, я получаю следующий результат:
15:44:47.677 INFO [45] org.openqa.selenium.remote.server.DriverServlet - Executing: [new session: Capabilities [{chrome.switches=[--no-sandbox], browser=chrome, name=Behat feature suite, browserName=chrome, chrome.extensions=[], ignoreZoomSetting=false, chromeOptions={args=[--no-sandbox], extensions=[]}, version=, tags=[PHP 5.6.21-1~dotdeb+7.1]}]])
15:44:47.678 INFO [113] org.openqa.selenium.remote.server.DefaultDriverProvider - Creating a new session for Capabilities [{chrome.switches=[--no-sandbox], browser=chrome, name=Behat feature suite, browserName=chrome, chrome.extensions=[], ignoreZoomSetting=false, chromeOptions={args=[--no-sandbox], extensions=[]}, version=, tags=[PHP 5.6.21-1~dotdeb+7.1]}]
15:44:48.021 INFO [45] org.openqa.selenium.remote.server.DriverServlet - Done: [new session: Capabilities [{chrome.switches=[--no-sandbox], browser=chrome, name=Behat feature suite, browserName=chrome, chrome.extensions=[], ignoreZoomSetting=false, chromeOptions={args=[--no-sandbox], extensions=[]}, version=, tags=[PHP 5.6.21-1~dotdeb+7.1]}]]
15:44:48.035 INFO [45] org.openqa.selenium.remote.server.DriverServlet - Executing: [new session: Capabilities [{deviceType=tablet, selenium-version=2.31.0, browserVersion=9, browser=firefox, name=Behat Test, browserName=firefox, deviceOrientation=portrait, version=9, platform=ANY}]])
15:44:48.036 INFO [120] org.openqa.selenium.remote.server.FirefoxDriverProvider - Creating a new session for Capabilities [{deviceType=tablet, selenium-version=2.31.0, browserVersion=9, browser=firefox, name=Behat Test, browserName=firefox, deviceOrientation=portrait, version=9, platform=ANY}]
Как вы можете видеть, Chrome сессия успешно с а затем новый сеанс Firefox создается впоследствии и используется для проведения тестов.
Почему вы используете сеансы, у вас есть настройки для нескольких сеансов? – lauda
Да, идея состоит в том, чтобы иметь мобильный сеанс и сеанс рабочего стола. – Shivox
У вас есть собственный код, связанный с драйвером в FeatureContext? вы пытались установить разные профили для мобильных и настольных компьютеров? Также попробуйте удалить browser_name и посмотреть, что произойдет. – lauda