如何在Selenium Server上排查测试问题,查看Selenium Grid节点运行测试画面
Selenium Grid节点测试运行画面查看方法
1. 实时查看:启用VNC远程桌面
- 容器部署场景:使用官方带VNC后缀的节点镜像,例如
selenium/node-chrome:latest-vnc、selenium/node-firefox:latest-vnc,启动容器时映射默认VNC端口5900到宿主机端口,参数示例:docker run -d -p 5901:5900 selenium/node-chrome:latest-vnc - 物理机/虚拟机部署场景:直接在节点服务器上安装VNC服务端,开启远程桌面权限
- 本地安装任意VNC客户端,输入节点IP+映射后的端口,默认密码为
secret,即可实时同步看到节点上浏览器的所有操作过程
2. 事后排查:自动截图
- 在测试代码的异常捕获逻辑、关键操作步骤后插入截图代码,截图可存储在节点本地共享目录,或直接传回测试执行机保存
- Python示例代码如下:
from selenium import webdriver from selenium.common.exceptions import WebDriverException driver = webdriver.Remote(command_executor="http://你的grid hub地址:4444/wd/hub", options=options) try: driver.get("https://你的测试地址") # 其他测试逻辑 except WebDriverException: # 测试失败时截图 driver.save_screenshot(f"./失败截图_{driver.session_id}.png") raise finally: driver.quit()
- 也可通过测试框架的全局钩子配置,实现所有测试用例失败时自动截图,无需单用例编码
3. 调试场景:开启浏览器远程调试
- 给浏览器启动参数添加远程调试配置,以Chrome为例,添加参数
--remote-debugging-port=9222,启动节点时映射9222端口到宿主机 - 本地打开Chrome浏览器,访问
chrome://inspect,添加节点IP+映射后的调试端口,即可直接查看节点上浏览器的页面结构、控制台日志、网络请求,还可以直接远程操作浏览器排查问题
4. 完整复现:录屏保存
- 使用官方带录屏功能的配套镜像
selenium/video:ffmpeg,和Grid节点同步启动,即可自动录制整个测试会话的运行过程,测试结束后生成MP4文件 - 物理机部署的节点可直接安装ffmpeg,在测试启动时触发录屏进程,测试结束后自动停止并保存视频文件
内容的提问来源于stack exchange,提问作者igaro4ak337
相关产品推荐
相关产品推荐

