На днях попалась статья об использовании xvfb и тут вспонилось как мы работали с подобными инструментами. Для освежения памяти нужно было срочно набросать черновик, а для всего этого понабиться буквально несколько шагов чтобы настроить работу с виртуальным дисплеем для запуска бразуера в "тихом режиме".
Когда разрабатываешь тесты для веб приложений с необходимость "запуска живого" бразуера и запускаешь их на той же станции, за которой работаешь, то постоянное открытие браузера отвлекает и можно либо идти пить чай, либо наблюдать за этим процессом.
Решений в этом случае несколько:
- развернуть Selenium Grid и подключаться удалённо (VNC, Remote Desktop)
- воспользоваться сервисом https://saucelabs.com/
- работая в *nix, использовать виртуальный дисплей для скрытия браузера
В данном посте мы рассмотрим последний вариант в связке с python + Ubuntu.
Готово, можно пользоваться.
from pyvirtualdisplay import Display
Когда разрабатываешь тесты для веб приложений с необходимость "запуска живого" бразуера и запускаешь их на той же станции, за которой работаешь, то постоянное открытие браузера отвлекает и можно либо идти пить чай, либо наблюдать за этим процессом.
Решений в этом случае несколько:
- развернуть Selenium Grid и подключаться удалённо (VNC, Remote Desktop)
- воспользоваться сервисом https://saucelabs.com/
- работая в *nix, использовать виртуальный дисплей для скрытия браузера
Перед началом работы нужно подготовить рабочее окружение и установить следующие модули:
- обёртка для работы с вышеуказанными виртуальными дисплеями через python pyvirtualdisplay
- собственно Ubuntu
Уставливаем через терминал:
$ sudo apt-get install xvfb
$ sudo apt-get install xvfb
$ sudo pip install pyvirtualdisplay
Готово, можно пользоваться.
Пример использования:
from selenium import webdriver
#если хотим полностью скрыть дисплей то visible=0, иначе visible=1
display = Display(visible=0, size= (1024, 768))
display.start()
driver= webdriver.Chrome()
driver.get('http://www.qaclubkiev.com')
print 'The title of current page is: ', driver.title
driver.quit()
display.stop()
Комментариев нет:
Отправить комментарий