无法在 docker 容器中调试 TestCafe 浏览器 运行

Unable to debug TestCafe browser running in a docker container

我一直在试图找出一个问题,该问题只出现在我的 TestCafe docker 环境中,但不会出现在本地环境中。为此,我想在内置 chromiumfirefox 中调试 TestCafe docker。我关注了讨论 ,但它对我不起作用。

这是我用于 运行 我的 docker 容器的命令:

docker run --net=host -e NODE_OPTIONS="--inspect-brk=0.0.0.0:9229" -v `pwd`:/tests -v `pwd`/reporter:/reporters -w /reporters -e userEmail=admin@test.com -e userPass=password -e urlPort=9000 --env-file=.env testcafe 'firefox' '/tests/uitests/**/concurrentTests/logintest.js' --disable-page-caching -s takeOnFails=true --reporter 'html:result.html',spec,'xunit:res.xml' 

运行 以上带 -p 9229:9229 或不带这就是我所看到的:

Debugger listening on ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319
For help, see: https://nodejs.org/en/docs/inspector

当我在 Chrome/Firefox 浏览器上转到 link ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319 时,什么也没有发生。还有,chrome://inspect/#devices这是空的

我的期望:

我想在浏览器中查看该网页,以便了解幕后发生的情况。此外,我希望看到 cookie 和其他 API 调用正在完成。

请建议如何处理这种情况。

当您看到 Debugger listening on ws://0.0.0.0:9229/66cce714-31f4-45be-aed2-c50411d18319 消息(或类似消息)时,在浏览器中导航到 http://localhost:9229/json URL 并找到 devtoolsFrontendURL:

将其复制并粘贴到浏览器以开始调试会话:

由于某种原因,节点检查似乎无法在 host 网络上正常工作。尝试删除 --net=host 选项并添加 -p 127.0.0.1:9229:9229 选项。然后,包含的节点进程应出现在 'Remote Target #LOCALHOST' 部分下的 DevTools(位于 chrome://inspect)中。

此外,您需要删除 -e NODE_OPTIONS="--inspect-brk=0.0.0.0:9229" 选项并在 testcafe/testcafe 之后添加 --inspect-brk=0.0.0.0:9229 标志以避免 'Starting inspector on 0.0.0.0:9229 failed: address already in use' 错误。