Ключевое слово с названием «Начать виртуальный дисплей» не найдено.

Я провел некоторое исследование безголового тестирования с помощью Robot Framework и наткнулся на Xvfb. Итак, я установил его с помощью:

pip установить robotframework-xvfb

Затем в моем файле тестового примера я добавил:

*** Settings ***
Library  Selenium2Library
Library  XvfbRobot

*** Test Cases ***
Creating a headless browser
    [Tags]  Headless
    Starting your display
    The user goes to the website
    Maximizing the window
    The user enters an incorrect email
    The user sees they have entered an incorrect email

Все мои ключевые слова в порядке, никаких видимых ошибок. Тем не менее, когда я запускаю тест, он возвращает следующее:

Importing test library 'XvfbRobot' failed: ImportError: No module named xvfbwrapper
Traceback (most recent call last):
  File "/usr/local/Cellar/robot-framework/3.0.2_1/libexec/lib/python2.7/site-packages/XvfbRobot/__init__.py", line 19, in <module>
    from xvfbwrapper import Xvfb

Кто-нибудь сталкивался с этим? Заранее спасибо!


person jahn94    schedule 27.10.2017    source источник
comment
Вы установили xvfbwrapper?   -  person Bryan Oakley    schedule 28.10.2017
comment
Да, я его уже установил.   -  person jahn94    schedule 30.10.2017


Ответы (1)


В списке требований библиотеки robotframework-xfvb четко указано, что xfvb следует устанавливать вручную. Это подтверждается сценариями установки robotframework-xfvb и модуля xfvbwrapper, который не устанавливает xfvb. либо.

Имейте в виду, что xfvb — это не модуль Python, а приложение, которое необходимо установить. Обычно это делает sudo apt-get install xvfb.

person A. Kootstra    schedule 28.10.2017
comment
Спасибо за ответ. Для sudo apt-get install xvfb это не будет работать на Mac, поэтому я пробовал pip install xvfb и brew install xvfb, но и там нет прогресса. Вы знаете команду для Mac? - person jahn94; 30.10.2017
comment
Могу я спросить, почему вы хотите использовать xfvb на MacOS? Если вам нужно запустить Chrome в автономном режиме, для этого есть аргумент запуска Chrome, который намного проще. - person A. Kootstra; 30.10.2017
comment
Да, я хотел бы запустить его без головы с Chrome. - person jahn94; 30.10.2017
comment
Это уже возможно. В этом ответе на SO question замените Remote на Chrome и удалите бит remote_url=..., и вы получите безголовый работающий тест робота. - person A. Kootstra; 30.10.2017
comment
Рад слышать. Можете ли вы отметить это как ответ для вас? - person A. Kootstra; 31.10.2017
comment
Конечно, не могу выбрать комментарий в качестве ответа, только ваш исходный пост. - person jahn94; 31.10.2017