You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Playwright Docker容器的playwrightUrl以集成Karate脚本?

Playwright Docker容器获取WebSocket端点供Karate使用的方法

你使用的mcr.microsoft.com/playwright:bionic镜像默认不会主动启动Playwright WebSocket服务,你确实需要手动启动服务才能获取对应端点,无需自行编写node server.js,使用Playwright内置命令即可完成操作,具体步骤如下:

步骤1:启动Playwright Server

你可以选择两种方式启动:

方式一:进入已运行的容器手动启动

  1. 执行命令进入容器:
    docker exec -it playwright bash
  2. 容器内执行启动命令,绑定0.0.0.0允许外部访问:
    npx playwright run-server --port 5900 --host 0.0.0.0
  3. 启动完成后终端会直接输出WebSocket端点,格式为ws://0.0.0.0:5900/<随机串>,宿主机使用时替换为ws://localhost:5900/<随机串>即可。

方式二:修改容器启动命令,自动启动服务

直接将服务启动逻辑加入docker run命令,容器启动时自动拉起服务:

docker run --name playwright -it --rm --ipc=host --cap-add=SYS_ADMIN -u root -p 5900:5900  -v $(pwd):/src -v /home/Automation/:/root/.m2 mcr.microsoft.com/playwright:bionic bash -c "npx playwright run-server --port 5900 --host 0.0.0.0" &

启动后执行docker logs playwright即可查看输出的WebSocket端点。

Karate侧配置

拿到端点后,在karate配置文件中指定对应url即可:
karate.configure('playwright', { url: 'ws://localhost:5900/你的随机串' });

注意事项

  • 启动服务必须加--host 0.0.0.0参数,否则服务默认仅监听容器本地127.0.0.1地址,宿主机无法访问
  • 你已配置的5900端口映射无需修改,可直接使用

内容的提问来源于stack exchange,提问作者SUBRAMANIA SIVA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 17:39:02