我发现,我可以用它browser.pause();
来停止浏览器的执行并检查它的当前变量,但是如何检查我的 WebdriverIO 测试源的变量呢?
当然,console.log()
如果我想知道一个值,我可以打电话。但是对于每次尝试,我都必须重新启动完整的测试套件,或者我需要对其他所有测试进行评论。
相反,理想情况下,我希望在一行中停止执行并检查所有可用变量。
有人对此有解决方案或其他想法吗?
我发现,我可以用它browser.pause();
来停止浏览器的执行并检查它的当前变量,但是如何检查我的 WebdriverIO 测试源的变量呢?
当然,console.log()
如果我想知道一个值,我可以打电话。但是对于每次尝试,我都必须重新启动完整的测试套件,或者我需要对其他所有测试进行评论。
相反,理想情况下,我希望在一行中停止执行并检查所有可用变量。
有人对此有解决方案或其他想法吗?
这不是 webdriver-io 的问题,而是您正在使用的 IDE。您正在寻找的是remote debugging
IDE 的功能。我一直在用 Webstorm 成功地做到这一点。
观看此视频,了解如何在 Webstorm 中运行设置测试运行程序。
对于希望能够更轻松地调试WebdriverIO测试用例的人来说,请查看.debug()命令。
它并不完全符合@Sandro 的要求,但它提供了一种替代方法,可以将您的文本编辑器更改为一个花哨、笨重的 IDE:
browser.debug()
在您想要“断点”的行之后添加);browser
处于找到状态的对象的访问权限。缺点:
!注意:如果您使用的是WDIO 测试运行器,请确保增加timeout
您正在使用的测试框架的属性(例如 Mocha、Cucumber 或 Jasmine),以防止由于测试超时而继续运行。
mochaOpts: {
ui: 'bdd',
timeout: 9999999
},