понедельник, 24 сентября 2012 г.

Запуск браузера в "тихом режиме/silent mode" Python + Selenium

На днях попалась статья об использовании xvfb и тут вспонилось как мы работали с подобными инструментами. Для освежения памяти нужно было срочно набросать черновик, а для всего этого понабиться буквально несколько шагов чтобы настроить работу с виртуальным дисплеем для запуска бразуера в "тихом режиме".

Когда разрабатываешь тесты для веб приложений с необходимость "запуска живого" бразуера и запускаешь их на той же станции, за которой работаешь, то постоянное открытие браузера отвлекает и можно либо идти пить чай, либо наблюдать за этим процессом.
Решений в этом случае несколько:
- развернуть  Selenium Grid и подключаться удалённо (VNC, Remote Desktop)
- воспользоваться сервисом https://saucelabs.com/
- работая в *nix, использовать виртуальный дисплей для скрытия браузера

В данном посте мы рассмотрим последний вариант в связке с python + Ubuntu.
Перед началом работы нужно подготовить рабочее окружение и установить следующие модули:
- любой из виртуальных дисплеев  XvfbXephyr или Xvnc
- обёртка для работы с вышеуказанными виртуальными дисплеями через python pyvirtualdisplay
- собственно Ubuntu

Уставливаем через терминал:
$ sudo apt-get install xvfb
$ sudo pip install pyvirtualdisplay

Готово, можно пользоваться.
Пример использования:

from pyvirtualdisplay import Display
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()

Комментариев нет:

Отправить комментарий