一尘不染

如何视频记录在docker内部无头运行的selenium测试?

selenium

我正在使用无头firefox在docker内部运行python-selenium测试。

在这些测试中,我可以使用selenium方法来制作屏幕快照,但是我可以在整个测试过程中使用某些东西来“视频”记录虚拟显示(使用几种测试方法的多个测试脚本,其中有许多启动和停止的webdriver)。

那么如何录制完整的测试会话呢?

附录
:我找到了一个网页,该网页准确描述了我的需求:这里。不幸的是,当我尝试进行录制时出现错误。这是我正在执行的命令:

xvfb-run --listen-tcp --server-num 44 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1920x1080x24" python seltest.py &
ffmpeg -f x11grab -video_size 1920x1080 -i 127.0.0.1:44 -codec:v libx264 -r 12 /tmp/behat_1.mp4

错误是(对于第二个命令):

[x11grab @ 0x1d289c0] Cannot open display 127.0.0.1:44, error 1.
127.0.0.1:44: Input/output error

阅读 321

收藏
2020-06-26

共1个答案

一尘不染

记录虚拟显示的正确步骤ffmpeg是:

xvfb-run --listen-tcp --server-num 44 --auth-file /tmp/xvfb.auth -s "-ac -screen 0 1920x1080x24" python seltest.py &
export DISPLAY=:44
ffmpeg -f x11grab -video_size 1920x1080 -i :44 -codec:v libx264 -r 12 video.mp4
2020-06-26