如何在Selenoid中仅保留测试执行失败用例的录制视频?
Selenoid-video 测试视频留存/标记问题解答
自动留存失败视频、删除通过视频实现方案
Selenoid-video 本身和测试用例执行逻辑完全解耦,原生没有内置测试结果感知能力,无法直接通过配置实现自动按测试结果清理视频,但可以通过对接你的测试框架逻辑快速实现该需求:
- 启动Selenoid会话时,将测试用例唯一标识和视频名称绑定,示例配置(Python):
from selenium import webdriver test_case_id = "login_test_001" # 你的测试用例唯一ID capabilities = { "browserName": "chrome", "version": "latest", "selenoid:options": { "enableVideo": True, # 自定义视频名称,和测试用例ID一一对应 "videoName": f"{test_case_id}.mp4" } } driver = webdriver.Remote( command_executor="http://你的Selenoid地址:4444/wd/hub", desired_capabilities=capabilities ) # 也可直接存储当前会话ID匹配视频,Selenoid默认视频名为{session_id}.mp4 current_session_id = driver.session_id
- 在测试框架的用例后置执行钩子中判断用例执行结果:
- 用例执行通过:直接在Selenoid挂载的视频存储目录删除对应名称的mp4文件,或调用Selenoid REST API删除对应视频
- 用例执行失败:保留对应视频即可
失败视频重命名/打标签实现方案
该需求同样可以通过测试框架后置逻辑实现,无需依赖Selenoid原生能力:
- 判定用例执行失败后,直接修改对应视频文件的文件名,比如添加
FAILED_前缀、追加失败时间、错误码等信息 - 如果视频存储在自建对象存储或资源管理系统中,可在此时为对应视频资源添加自定义失败标签,和测试用例的报错栈、错误截图等信息做关联存储
如果不需要实时处理,也可以在全量测试执行完成后,基于测试报告导出的失败用例列表,批量过滤并删除通过用例对应的视频文件,同时批量重命名失败用例的视频。
内容的提问来源于stack exchange,提问作者rmz
相关产品推荐
相关产品推荐

