Селеноид: запись видео запущенного сеанса
Я использую функциональность экрана браузера Selenoid для отладки своих тестов. Каков рекомендуемый способ захвата видео с экрана браузера?
1 ответ
UPD2: выпущено в Selenoid 1.4.0.
UPD1: в настоящее время работает над встроенной функцией записи видео в Selenoid. Должно быть доступно начиная с версии 1.4.0.
Selenoid поддерживает показ видео через VNC. Что вам нужно сделать, это просто захватить его из соответствующего порта. Вот один из возможных способов записи видео с VNC.
Требования:
- Selenoid должен быть запущен как двоичный файл (не как контейнер Docker), иначе сопоставленные порты
null
, - API-интерфейсы Docker должны быть доступны внешнему миру. ( http://www.virtuallyghetto.com/2014/07/quick-tip-how-to-enable-docker-remote-api.html)
Как это сделать. Одним из возможных решений является использование скрипта vnc2flv.
Загрузите скрипт:
$ wget https://pypi.python.org/packages/1e/8e/40c71faa24e19dab555eeb25d6c07efbc503e98b0344f0b4c3131f59947f/vnc2flv-20100207.tar.gz\#md5\=8492e46496e187b49fe5569b5639804e
Распакуйте архив:
$ tar zxf vnc2flv-20100207.tar.gz
Установите скрипт:
$ python setup.py install --prefix=/usr/local
Запишите видео: получите идентификатор контейнера Docker через Selenoid
/status
а затем найдите с помощью команд Docker, какой порт сопоставлен с портом контейнера5900
(порт VNC). Затем введите:flvrec.py -P <filename_for_password_file> -o <output_video_filename> <hub_host> <the_vnc_port>
например,flvrec.py -P password.txt -o /tmp/selenoid_videos/gimme_love.flv 172.31.11.135 32774
,Сохраненный видеофайл можно найти в
/tmp/selenoid_videos/gimme_love.flv
,