Селен и безголовая среда - PullRequest
13 голосов
/ 02 декабря 2010

Я недавно установил Python 2.7, Robot Framework и библиотеку Selenium (хотя я до сих пор не знаю, удалось ли мне ...) на Red Hat Server, чтобы выполнить какой-либо тест в веб-приложении.

Итак, я попробовал простой тестовый пример с использованием Robot Framework, чтобы проверить, работает ли библиотека Selenium, просто чтобы открыть веб-страницу, не более того ...

Сервер Selenium запущен и работает в соответствии с результатом ps, а двоичные файлы Firefox находятся в PATH ...

При запуске тестового примера из Robot Framework (с pybot testcasename.tsv) я получаю исключение:

ОШИБКА: проблема с захватом скриншота в строку: java.awt.AWTException: безголовая среда

Итак, что такое безголовая среда ? У кого-нибудь есть идея, если есть что-то еще, что необходимо установить или настроить?

Ответы [ 2 ]

18 голосов
/ 16 марта 2011

Использование X Virtual Frame Buffer (Xvfb):

Мы можем использовать xvfb для создания автономной среды для селена (например, для запуска по SSH).


Инструкция:

  1. Запуск xvfb со следующими параметрами:

    $ Xvfb :89 -ac -noreset

    (где :89 - созданный виртуальный «дисплей»).

  2. Затем установите переменную DISPLAY таким виртуальным дисплеем:

    $ export DISPLAY=:89

  3. На этом этапе мы можем запустить сервер селена по желанию. Примеры следуют.

Запустить сервер Java архива:

$ java -jar selenium-server.jar

В Python:

from selenium import webdriver

driver = webdriver.Firefox()
...
0 голосов
/ 22 августа 2015

Вот простая библиотека роботов только для этой цели.

...