1 回答
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 获取 Docker 容器 ID
/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
.