- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Page 类中测试了 React 应用程序的登录功能:
async login(t) {
console.log('starting login...');
debugger;
this.logBrowserMessages(t);
await this.loginModal({ visibilityCheck: true });
await t
.expect(this.loginModal.visible)
.ok()
// then log the user in etc...
以及测试,在本地运行时通过但在容器中失败
test.requestHooks(mock)('user can log in', async t => {
await page.login(t);
// Make sure test user's orders render.
await t.expect(page.orders.childNodeCount).gt(1, { timeout: 10000 });
测试在本地通过但在容器中运行时失败(登录不起作用)。
当我在本地运行测试时,它会按预期进行调试:
testcafe chrome --inspect-brk=9230 ./tests/login.test.js --skip-js-errors
进程 node_modules/testcafe/lib/cli
出现在我的 chrome://inspect/#devices
中,正如预期的那样。
但是,当我在 testcafe docker 容器中运行 testcafe 时,它不会使用以下任何命令进行调试:
docker run --expose 9230 -p 9230:9230 -e BASIC_AUTH_USER -e BASIC_AUTH_PASS -e NODE_ENV=docker -e TEST_USER -e TEST_PASS --shm-size=1gb -v `pwd`:/tests - v `pwd`/screenshots/docker:/screenshots testcafe/testcafe 'chromium --no-sandbox' --inspect-brk=0.0.0.0:9230 -S -s '/screenshots' --skip-js-errors/tests/**/login.test.js
docker run --expose 9230 -p 9230:9230 -e\"NODE_PATH=/opt:/opt/testcafe/node_modules:/tests/node_modules\"-e BASIC_AUTH_USER -e BASIC_AUTH_PASS -e NODE_ENV=docker -e TEST_USER -e TEST_PASS --shm-size=1gb -v `pwd`:/tests -v `pwd`/screenshots/docker:/screenshots testcafe/testcafe 'chromium --no-sandbox' --inspect-brk= 0.0.0.0:9230 -S -s '/screenshots' --skip-js-errors/tests/**/login.test.js
docker run --expose 9230 -p 9230:9230 -e BASIC_AUTH_USER -e BASIC_AUTH_PASS -e NODE_ENV=docker -e TEST_USER -e TEST_PASS --shm-size=1gb -v `pwd`:/tests - v `pwd`/screenshots/docker:/screenshots testcafe/testcafe 'chromium --no-sandbox' --inspect-brk=127.0.0.1:9230 -S -s '/screenshots' --skip-js-errors/tests/**/login.test.js
docker run --expose 9230 -p 9230:9230 -e\"NODE_PATH=/opt:/opt/testcafe/node_modules:/tests/node_modules\"-e BASIC_AUTH_USER -e BASIC_AUTH_PASS -e NODE_ENV=docker -e TEST_USER -e TEST_PASS --shm-size=1gb -v `pwd`:/tests -v `pwd`/screenshots/docker:/screenshots testcafe/testcafe --inspect-brk=0.0.0.0:9230 --浏览器'chromium --no-sandbox' -S -s '/screenshots' --skip-js-errors/tests/**/login.test.js
docker run --expose 9230 -p 9230:9230 -e\"NODE_PATH=/opt:/opt/testcafe/node_modules:/tests/node_modules\"-e BASIC_AUTH_USER -e BASIC_AUTH_PASS -e NODE_ENV=docker -e TEST_USER -e TEST_PASS --shm-size=1gb -v `pwd`:/tests -v `pwd`/screenshots/docker:/screenshots testcafe/testcafe 'chromium --no-sandbox' -S -s '/截图' --skip-js-errors --inspect-brk=9230/tests/**/login.test.js
我正在使用的容器是否有一些我不知道的限制?我之前调试过在 Docker 容器中运行的 Node 进程,我知道这是可以做到的。但那是不久前的事了。我错过了什么吗?
最佳答案
您可以使用NODE_OPTIONS
环境变量来启用远程调试:
docker run -it --rm -p 9229:9229 -e NODE_OPTIONS="--inspect-brk=0.0.0.0:9229" -v /host/path/to/tests:/tests testcafe/testcafe 'chromium --no-sandbox' /tests/test.js
如果您不使用 docker-machine
,您可以在浏览器中打开 http://localhost:9229/json
并导航到指定的 DevTools URL devtoolsFrontendUrl
属性。
否则,使用docker-machine ip
命令获取您的Docker VM 的IP 地址并打开http://${DOCKER_MACHINE_IP}:9229/json
以获取 DevTools URL。
关于javascript - 如何调试在 testcafe/testcafe docker 容器中运行的 Testcafe 浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503435/
在 Page 类中测试了 React 应用程序的登录功能: async login(t) { console.log('starting login...'); debugger;
我正在尝试使用 getStyleProperty('border') 使用 testcafe 测试图像上的边框,它总是返回未定义。 box-shadow 等其他属性工作正常。 HTML: const
我试图在使用 testCafe 登录后重定向到另一个页面,但在登录后其他页面保持空白,也就是说,它永远不会加载,或者在其他时候它只是关闭 session 而不进入。事实是它不会让我在登录后进入主页。我
我正在使用 https://hub.docker.com/r/testcafe/testcafe/ 运行我们的 Testcafe 项目,它工作正常,除了失败时无法创建屏幕截图目录,原因是: Error
我使用 TestCafé 的“testcafe-browser.provider-browserstack”插件。我尝试在我的应用程序中使用它,但我总是收到一条消息,提示登录错误。数据是正确的(只是“
我使用 TestCafé 的“testcafe-browser.provider-browserstack”插件。我尝试在我的应用程序中使用它,但我总是收到一条消息,提示登录错误。数据是正确的(只是“
浏览器:全部 测试咖啡馆:v0.23.0 node.js: v8.12.0 操作系统:macOS、Windows 10 自更新(0.21.0 -> 0.23.2)以来,测试的执行时间增加了两倍。自更新
我使用的是 TestCafe 1.1.0 版和 Testcafe-react-selector 3.1.0 版。我的目标是从节点返回文本。 HTML 树如下所示: board W
他们两个是否以某种方式融合在一起?两者关系扑朔迷离,且同名。249.99 美元的工具能否用于运行使用开源 API 编写的测试? 最佳答案 TestCafe 最初是作为付费的独立工具出现的。除了测试运行
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 4 年前。 Improve
在 Vagrant VM 中运行 testcafe,它大部分时间都在工作。 但是,Chrome 在这种启用了硬件加速的环境中无法正常启动,所以我必须使用命令行标志 --disable-gpu 来启动它
我正在学习testcafe,我是这里的新手。 根据testcafe文档命令 npx testcafe 'chrome --start-fullscreen'应该打开全屏并运行测试,这是完美的工作。但是
我现在使用 TestCafe 有一段时间了,从来没有遇到过问题。几天前 TestCafe 开始运行我的测试两次,产生了很多问题。我在 https://github.com/DevExpress/tes
我正在尝试从 Chrome 上的模式中获取文本。使用控制台,我可以得到如下内部文本: document.querySelector('.my-form > a').innerText // retur
我正在使用 TestCafe 0.23.3。我正在尝试验证一个元素是启用还是禁用。这是禁用时元素的 HTML 节点: Add Person 这是启用时元素的 HTML 节点: Add Person 这
我正在尝试开始使用 Testcafe。 我已经使用 npm 在全局范围内安装了它,并且我正在关注 https://devexpress.github.io/testcafe/documentation
我需要使用 Testcafe 从 POST 调用中检索信息。 我需要手动做的是: 在 Chrome 中打开开发人员工具, 捕获流量并按特定请求名称过滤, 转到标题 -> 请求有效负载 在请求有效负载中
如何在运行测试时显示分步信息?当前运行命令 testcafe chrome .\test\customer.js 一般来说,需要查看有关执行内容的更多信息。 最佳答案 目前,TestCafe 中不存在
所以,我正在尝试创建一个自定义函数,它允许我检查一个字段是否包含数字或文本,但为了进一步测试,我将需要检查更复杂的东西,比如某个表的总和是否等于某事等我找不到自定义函数的示例,例如: function
我正在尝试在 testcafe 上选择一个动态下拉值。 值“select2-result-label-7”保持与最后一个数字相同。我怎样才能选择正确的下拉菜单?我尝试了模式匹配,但没有成功。 可以帮我
我是一名优秀的程序员,十分优秀!