You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Xvfb中运行无头Firefox测试用例并通过FFmpeg录制?

在Xvfb中运行Selenium测试并录制视频的详细步骤

前置准备

确保已安装以下工具:

  • Xvfb(虚拟X服务器)
  • FFmpeg(视频录制工具)
  • Selenium对应语言的库(如Python的selenium包)
  • 浏览器驱动(如chromedriver、geckodriver)

方式一:手动分终端操作(适合调试阶段)

这种方式步骤拆分清晰,方便排查问题:

  1. 启动Xvfb虚拟显示器
    打开第一个终端,执行命令创建虚拟显示:

    Xvfb :10 -ac -screen 0 1920x1080x24
    
    • :10是虚拟显示的编号(可自定义为:99等其他值)
    • -ac关闭访问控制,允许任意用户连接
    • 1920x1080x24设置屏幕分辨率为1920×1080,色深24位
  2. 运行Selenium测试
    打开第二个终端,先指定测试用的虚拟显示,再执行测试脚本:

    export DISPLAY=:10
    # 替换为你的测试脚本执行命令,比如Python脚本
    python your_selenium_test.py
    
  3. 启动FFmpeg录制屏幕
    打开第三个终端,同样指定虚拟显示后启动录制:

    export DISPLAY=:10
    ffmpeg -f x11grab -r 25 -s 1920x1080 -i :10 -vcodec libx264 -preset ultrafast -crf 20 test_recording.mp4
    
    • -r 25设置录制帧率为25fps(可按需调整)
    • -s 1920x1080必须和Xvfb设置的分辨率一致
    • -preset ultrafast保证录制过程不卡顿(以少量压缩率为代价)
    • -crf 20控制视频质量,数值越小质量越高(18-28为常用范围)

测试完成后,按Ctrl+C停止FFmpeg和Xvfb进程即可。


方式二:单脚本自动化操作(适合批量执行)

把所有步骤整合到一个shell脚本,一键启动测试和录制:

  1. 创建脚本文件record_selenium_test.sh,内容如下:

    #!/bin/bash
    
    # 自定义配置
    DISPLAY_NUM=:10
    SCREEN_RES="1920x1080x24"
    OUTPUT_VIDEO="selenium_test_recording.mp4"
    TEST_SCRIPT="your_selenium_test.py"
    
    # 启动Xvfb后台进程
    Xvfb $DISPLAY_NUM -ac -screen 0 $SCREEN_RES &
    XVFB_PID=$!
    
    # 设置环境变量
    export DISPLAY=$DISPLAY_NUM
    
    # 启动FFmpeg后台录制
    ffmpeg -f x11grab -r 25 -s ${SCREEN_RES%x24} -i $DISPLAY_NUM -vcodec libx264 -preset ultrafast -crf 20 $OUTPUT_VIDEO &
    FFMPEG_PID=$!
    
    # 执行Selenium测试脚本
    python $TEST_SCRIPT
    
    # 测试结束后清理进程
    kill $FFMPEG_PID
    kill $XVFB_PID
    
  2. 给脚本添加执行权限:

    chmod +x record_selenium_test.sh
    
  3. 运行脚本:

    ./record_selenium_test.sh
    

注意事项

  • 确保Xvfb的屏幕分辨率和FFmpeg的-s参数完全一致,否则录制画面会出现拉伸或裁剪问题
  • 若使用Chrome浏览器,测试脚本中可添加--no-sandbox --disable-dev-shm-usage参数,避免权限或内存问题
  • 如果测试脚本持续运行,需手动停止脚本或在脚本中添加超时逻辑
  • 若遇到Xvfb连接失败,检查DISPLAY环境变量是否正确设置,或尝试更换显示编号

内容的提问来源于stack exchange,提问作者JustSomeFool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 01:15:40