如何查看运行PHPUnit+Selenium Webdriver测试的容器内浏览器实时界面
问题原因
浏览器进程运行在独立的Selenium节点容器内部,受容器隔离机制限制,容器内的GUI程序不会直接映射到宿主机桌面环境弹出窗口,属于正常现象,不是配置错误。
查看实时测试界面的方法
你使用的Selenium官方节点镜像默认内置了VNC远程桌面服务,且已经在docker-compose.yml中把容器内的5900端口映射到了宿主机对应端口,只需按以下步骤操作即可查看实时界面:
- 下载任意VNC客户端(如TightVNC、RealVNC,macOS可直接用自带的「屏幕共享」功能)
- 运行测试前提前打开VNC客户端,根据你使用的浏览器连接对应地址,默认VNC访问密码为
secret:- Chrome测试:连接
localhost:6900 - Edge测试:连接
localhost:6901 - Firefox测试:连接
localhost:6902
- Chrome测试:连接
- 启动测试后即可在VNC窗口中看到浏览器的实时操作过程。
附加说明(测试告警处理)
你控制台输出的测试告警是因为代码中只有操作逻辑,没有添加PHPUnit断言,可在测试逻辑末尾增加类似如下断言即可消除告警:
$this->assertStringContainsString('Revision history', $driver->getTitle());
内容的提问来源于stack exchange,提问作者Plinio Garcia
相关产品推荐
相关产品推荐

