检查 WebdriverIO 规范变量

Inspect WebdriverIO spec variables

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

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

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

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

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

查看 this video 如何 运行 在 Webstorm 中设置测试 运行ner。

对于希望更轻松地调试 WebdriverIO test cases, take a look at the .debug() 命令的人们。

它并不能完全满足@Sandro 的要求,但它提供了替代方法,可以将您的文本编辑器更改为花哨、笨拙的IDE:

  • 停止执行当前的 运行 测试(只需在您想要 "breakpoint" 的行之后添加 browser.debug());
  • 将您的终端变成 read-eval-print-loop;
  • 授予您访问处于其所在状态的 browser 对象的权限,以及所有其他 API commands.

缺点:

  • 您将不得不 "recreate" 进行一些设置(无法从 REPL 界面访问变量和包含的值)。

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

mochaOpts: {
    ui: 'bdd',
    timeout: 9999999
},