使用Zalenium+TestingBot无法获取测试视频的技术咨询
Zalenium + TestingBot 无法获取测试视频的解决方案
首先明确:Zalenium是支持从TestingBot拉取测试视频的,你遇到的问题大概率是测试脚本直接连接了TestingBot的Hub,跳过了Zalenium的代理环节——这会导致Zalenium无法捕获会话ID,也就无法触发后续的视频拉取逻辑。
下面是具体的修复和排查步骤:
1. 修改测试脚本,通过Zalenium代理连接TestingBot
你的测试脚本里remote_url直接指向了TestingBot的Hub地址,而不是Zalenium的Hub。Zalenium需要作为中间代理,才能跟踪会话并从TestingBot API拉取视频。
修改base.rb中的remote_url方法:
def remote_url # 替换成你的Zalenium Hub地址,本地运行的话就是下面这个 "http://localhost:4444/wd/hub" end
这样测试请求会先发送到Zalenium,再由Zalenium转发到TestingBot,Zalenium就能捕获会话ID,进而执行视频拉取逻辑。
2. 确认Zalenium的TestingBot配置正确
检查你的docker-compose.yml:
- 已经设置了
--testingBotEnabled true,这是正确的 - 确认
TESTINGBOT_KEY和TESTINGBOT_SECRET环境变量正确加载(可以通过docker exec selenium-hub env | grep TESTINGBOT验证) - 视频目录挂载
/tmp/videos:/home/seluser/videos没问题,确保宿主机的/tmp/videos有读写权限
3. 验证TestingBot侧的视频录制状态
登录TestingBot的后台,找到对应的测试会话,确认视频已经成功录制:
- 如果TestingBot本身没生成视频,Zalenium自然拉取不到,这时候需要检查
record_video=true的capability是否正确传递,或者TestingBot账户的视频录制权限是否开启
4. 通过Zalenium日志排查问题
查看Zalenium容器的日志,获取更详细的错误信息:
docker logs selenium-hub
重点搜索以下关键词:
- 你的测试会话ID,看是否有
Fetching video from TestingBot API的日志 - 如果有错误日志,比如API请求失败、权限错误,根据提示调整配置或权限
额外注意点
- 确保测试脚本的capabilities里
record_video设置为"true"(你已经设置了,这部分没问题) - Zalenium版本:你使用的是2019年的旧版本,虽然核心逻辑没问题,但如果上述步骤都无效,可以考虑升级到较新的Zalenium版本,修复可能存在的bug
内容的提问来源于stack exchange,提问作者minoru.nagasaka
相关产品推荐
相关产品推荐

