Селен и безголовая среда
Недавно я установил Python 2.7, Robot Framework и Selenium Library (я до сих пор не знаю, удалось ли мне... хотя) на сервере Red Hat для запуска теста в веб-приложении.
Итак, я попробовал простой тестовый пример с использованием рамки робота, чтобы узнать, работает ли Selenium Library, просто для того, чтобы открыть веб-страницу, не более того...
Сервер Selenium запускается и запускается в соответствии с результатом ps, а бинарные файлы firefox находятся в PATH...
Запуск тестового примера из Robot Framework (с pybot testcasename.tsv) Я получаю исключение:
ОШИБКА: проблема с захватом скриншота в строку: java.awt.AWTException: безголовая среда
Итак, что такое Безголовая среда?
Кто-нибудь есть идея, если есть что-то еще, что должно быть настроено или быть настроено также?
Ответы
Ответ 1
Использование X Virtual Frame Buffer (Xvfb):
Мы можем использовать xvfb для создания безголовой среды для селена (например, для запуска SSH).
Инструкция:
-
Запустите xvfb
со следующими параметрами:
$ Xvfb :89 -ac -noreset
(где :89
создается виртуальный "дисплей" ).
-
Затем установите для переменной DISPLAY
этот виртуальный экран:
$ export DISPLAY=:89
-
В этот момент мы можем запустить сервер селена по желанию. Ниже приведены примеры.
Запустите серверный архив Java:
$ java -jar selenium-server.jar
В Python:
from selenium import webdriver
driver = webdriver.Firefox()
...
Ответ 2
Я использую ubuntu, и вот как я решил эту проблему уйти: видимо, я установил безголовую версию JRE. Как только я переключился на Sun JRE, все сработало, как ожидалось. Не работает.
Ответ 3
Вот простой робот библиотека только для этого puprose