можно ли во время автоматических тестов подсмотреть, что делает селен?

Я выполняю тесты веб-сеанса без подключения к сети с использованием селена (python, ubuntu server 15, firefox), которые могут длиться часами. Я использую pyvirtualdisplay + xvfb.

Мои скрипты на Python начинаются так:

from pyvirtualdisplay import Display

virtualdisplay = True

if virtualdisplay:
    display = Display(visible=0, size=(1920, 1240))
    display.start()

Как можно посмотреть, что происходит, не делая скриншотов, например сеанс vnc?

Я пробовал несколько решений, но они не работали, потому что, возможно, они устарели или слишком общие.


person fab    schedule 02.01.2016    source источник
comment
Что ты пробовал? Чем они были недостаточны? (Возможно, вы использовали их неправильно.)   -  person Scott Hunter    schedule 03.01.2016
comment
Здравствуйте, я откатил предыдущее состояние виртуальной машины, поэтому не могу получить историю. Однако я использовал apt-install install vnc4server vncserver: 1 DISPLAY =: 1 export DISPLAY Но казалось, что он не зафиксирован в текущем сеансе, возможно, новый сеанс по запросу. Инструменты, которые я использую в моей текущей настройке, вполне стандартны для просмотра без головы, так что я могу использовать для настройки стандартной процедуры просмотра в реальном времени?   -  person fab    schedule 03.01.2016
comment
делать стресс-тест с селеном - это немного безумие. Вы можете имитировать открытие множества браузеров, но этого не произойдет из-за ограничений оборудования. Каждый раз, когда Selenium открывает новый браузер, вы не можете записывать предыдущие сеансы.   -  person Mesut GUNES    schedule 04.01.2016
comment
Забудьте о стресс-тесте, если этот термин вызывает путаницу (я также перередактировал вопрос). Я открываю один сеанс браузера, который может выполнять действия часами. Как можно проверить эту сессию?   -  person fab    schedule 04.01.2016


Ответы (1)


Использование x11vnc может помочь. Просто добавьте эту строку в сценарий bash, который вы используете для запуска тестов:

x11vnc -q -bg -display $DISPLAY

После этого вы можете подключиться к своему виртуальному дисплею через порт по умолчанию 5900 (или любой другой по вашему выбору). Клавиши -q и -bg заставляют x11vnc быть тихим и работать в фоновом режиме соответственно. Конечно, вы должны настроить переадресацию портов для SSH-соединения:

ssh -L 5900:localhost:5900 yourhost
person FireHawk    schedule 25.01.2016