1

我发现,我可以用它browser.pause();来停止浏览器的执行并检查它的当前变量,但是如何检查我的 WebdriverIO 测试源的变量呢?

当然,console.log()如果我想知道一个值,我可以打电话。但是对于每次尝试,我都必须重新启动完整的测试套件,或者我需要对其他所有测试进行评论。

相反,理想情况下,我希望在一行中停止执行并检查所有可用变量。

有人对此有解决方案或其他想法吗?

4

2 回答 2

2

这不是 webdriver-io 的问题,而是您正在使用的 IDE。您正在寻找的是remote debuggingIDE 的功能。我一直在用 Webstorm 成功地做到这一点。

观看此视频,了解如何在 Webstorm 中运行设置测试运行程序。

于 2015-04-03T07:41:02.677 回答
1

对于希望能够更轻松地调试WebdriverIO测试用例的人来说,请查看.debug()命令。

它并不完全符合@Sandro 的要求,但它提供了一种替代方法,可以将您的文本编辑器更改为一个花哨、笨重的 IDE:

  • 停止执行当前正在运行的测试(只需browser.debug()在您想要“断点”的行之后添加);
  • 把你的终端变成一个read-eval-print-loop
  • 与所有其他API 命令一起,授予您对browser处于找到状态的对象的访问权限。

缺点:

  • 在此之前,您将不得不“重新创建”一些设置(变量和包含的值无法从 REPL 接口访问)。

!注意:如果您使用的是WDIO 测试运行器,请确保增加timeout您正在使用的测试框架的属性(例如 Mocha、Cucumber 或 Jasmine),以防止由于测试超时而继续运行。

mochaOpts: {
    ui: 'bdd',
    timeout: 9999999
},
于 2017-12-14T14:03:32.737 回答