Привет коллеги,
Когда-то очень давно, я поднимал тему запуска “безголовых” тестов на WebDriver под Windows и к сожалению, тогда не удалось добиться стабильной работы.
Напомню, что мне очень хотелось:
- Запускать тесты на удаленной Windows-машине без активной сессии
- Remote Desktop Без установки UltraVNC (так как он уж очень
небезопасный) или аналогов - Блокировка экрана пользовательской сессии Windows не должна влиять на
прогон тестов
Решений, которое я предлагаю – экспериментальное. И я прошу Сообщество Автоматизаторов помочь в эксперименте – попробовать у себя на машине.
Утилита desktop_utils.exe
, которую можно скачать отсюда:
kybu / headless-selenium-for-win releases
позволяет запускать приложения на самом настоящем виртуальном рабочем столе.
Скачайте эту утилиту, и поместите в одну папку вместе с:
- desktop_utils.exe
- chromedriver.exe
- IEDriverServer.exe
- selenium-server-standalone-2.44.0.jar
Создайте bat-файл запуска селениум сервера run-webdriver.bat
:
@set IE=-Dwebdriver.ie.driver="%cd%\IEDriverServer.exe"
@set CHROME=-Dwebdriver.chrome.driver="%cd%\chromedriver.exe"
@set PHANTOM=-Dphantomjs.binary.path="%cd%\phantomjs.exe"
@set SELENIUM_SERVER_EXE=selenium-server-standalone-2.44.0.jar
start "%SELENIUM_SERVER_EXE%" java %PHANTOM% %CHROME% %IE% -jar %SELENIUM_SERVER_EXE%
Запустите run-webdriver.bat
для проверки, и попробуйте, работает ли Селениум сервер в браузере
Закройте Селениум сервер
Создайте файл run-headless.bat
:
desktop_utils.exe --run run-webdriver.bat
И запустите.
У меня получилось вполне успешно запустить простые тесты на Google Chrome. C IE были проблемы, но и запускал я тесты на свежем Windows Server 2012 с нетронутыми политиками безопасности.
Попробуйте запустить такой безголовый вебдрайвер у себя, и расскажите что получилось!