我正在使用Selenoid实时浏览器屏幕功能来调试我的测试。捕获浏览器屏幕视频的推荐方法是什么?
UPD2:在Selenoid 1.4.0中发布。
UPD1:目前正在开发Selenoid中的本机视频录制功能。应该从版本 1.4.0 开始可用。
Selenoid支持通过VNC显示视频。您需要做的是从各自的端口获取它。这是从VNC录制视频的一种可能方法。
要求:
- Selenoid 必须作为二进制文件(而不是 Docker 容器(运行,否则映射的端口将
null
。 - Docker API 应该向外界公开。(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
-
录制视频:通过Selenoid
/status
获取Docker容器ID,然后使用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
中找到。