Docker环境下无法打开Playwright HTML报告的问题求助
问题描述
我已在项目根目录执行以下命令拉取镜像:
docker pull mcr.microsoft.com/playwright:v1.24.2-focal
随后使用以下命令运行镜像:
docker run -it --rm --ipc=host mcr.microsoft.com/playwright:v1.24.2-focal /bin/bash
成功进入容器后,执行npx playwright test命令所有测试均通过,但执行npx playwright show-report命令时,出现提示:
Failed to open browser on http://127.0.0.1:9323
解决方案
方法1:端口映射+绑定全局IP访问
容器内部的127.0.0.1仅容器自身可访问,宿主机无法直接连接。按以下步骤操作:
- 重新启动容器,添加端口映射参数:
docker run -it --rm --ipc=host -p 9323:9323 mcr.microsoft.com/playwright:v1.24.2-focal /bin/bash
- 进入容器后,执行报告命令时指定绑定
0.0.0.0(允许所有IP访问):
npx playwright show-report --host 0.0.0.0
- 在宿主机浏览器中访问
http://localhost:9323即可查看报告。
方法2:生成静态报告并复制到宿主机
如果不需要实时预览,可生成静态报告文件后复制到宿主机查看:
- 在容器内执行测试时生成HTML报告:
npx playwright test --reporter html
- 打开宿主机终端,通过容器ID(可执行
docker ps查看)将报告目录复制到宿主机:
docker cp <容器ID>:/playwright-report ./本地报告目录名
- 直接在宿主机打开复制后的报告目录里的
index.html文件即可。
方法3:容器内安装文本浏览器(体验较差)
容器默认无图形浏览器,可安装文本模式浏览器临时查看:
apt update && apt install -y links
执行报告命令后,用文本浏览器访问:
links http://127.0.0.1:9323
此方式仅能查看文本版报告,不推荐用于复杂报告。
内容的提问来源于stack exchange,提问作者syed1234
相关产品推荐
相关产品推荐

