Запуск тестов в InternetExplorer headless mode (selenium webdriver+ pytest)

Привет всем!!! Подскажите, какие есть решения для запуска тестов в InternetExplorer headless mode на удаленной Windows-машине без активной сессии? Использую связку selenium webdriver+ pytest.

Нашла такую инфу для IE headless mode possible solutions:

  1. HTMLUnitDriver + com.gargoylesoftware.htmlunit.BrowserVersion package

  2. GitHub - kybu/headless-selenium-for-win: Running Selenium driven browsers headlessly on Windows. (headless_ie_selenium.exe - is an addon to IEDriverServer.exe that handles new session requests and automatically launches IEDriverServer.exe in new virtual desktop )- проблема в том , что " you can’t take a screenshot without an active session", так что нельзя дополнительно проверить результат выполнения тестов.

  3. http://triflejs.org/ solution (last supported browser- IE9). - не совместим с Selenium Webdriver.

Для 1-го решения получилось запустить HTMLUnit browser через driver = webdriver. Remote(“http://localhost:4444/wd/hub”, webdriver.DesiredCapabilities.HTMLUNIT.copy()). Как теперь передать в desire capabilities IE 11 , так и не поняла.

Как теперь передать в desire capabilities IE 11 , так и не поняла. Есть ли какие либо другие решения.

Версии ОС и софта : remote Windows machine (TFS CI server ), pytest 3.0.7., selenium 3.4.2

Подскажите, пжл, как можно решить данный вопрос с IE headless?

Попробуйте второй вариант и замыкание сессии на консоль, как тут советовали: Кто сумел заставить Jenkins работать с Internet Explorer в фоновом режиме? - #8 от пользователя baxatob

1 лайк

По- второму варианту, с подменой IEDriverServer.exe на headless_ie_selenium.exe

выдает ошибку :

" WebDriverException: Message: Unexpected error launching Internet Explorer. IELaunchURL() returned HRESULT 80070012 (‘There are no more files.’) for URL ‘http://localhost:52354/’’ (хотя вижу что новый еxe запускается). "

Код:

driver = webdriver.Ie(r"C:\\Python27\\Scripts\\headless_ie_selenium.exe")
driver.get("http:\\google.com")
driver.get_screenshot_as_file("capture.png")
googleSearch = driver.find_element_by_name("q")
googleSearch.send_keys("Selenium")
googleSearch.send_keys(Keys.ENTER)
driver.quit()

C:\Python27\Scripts- в PATH переменой. Гугл особо не помог :slight_smile:
Люди, кто с подобным сталкивался?

Была задача временно сделать тестовую среду в Docker контейнерах, а затем быстро-быстро перенести на новые серверы. Так вот, с контейнером получили приятный бонус с браузером внутри - не нужно теперь переживать за headless-ы и вообще за графическую среду на сервере :slight_smile:

1 лайк

Спасибо , Алексадр за совет. Правильно ли я поняла , что на cервере без GUI можно развернуть docker , гонять тесты на браузере с GUI ?

Да, всё верно. Пока не приехали серверы гоняю тесты на своей локальной машине - не выскакивают никакие браузеры, только потом скриншоты в отчётах смотрю.

1 лайк

Невозможно запустить интернет эксплорер в контейнере

Возможно эта статья подскажет варианты

1 лайк