检查WebdriverIO规范变量

时间:2015-04-02 09:16:01

标签: debugging webdriver-io

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

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

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

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

2 个答案:

答案 0 :(得分:2)

这不是webdriver-io的问题,而是你正在使用的IDE。您正在寻找的是IDE的remote debugging功能。我成功地与Webstorm一起做了这件事。

查看this video如何在Webstorm中运行setup test runner。

答案 1 :(得分:1)

对于希望对 WebdriverIO 测试用例进行简单调试过程而来到这里的人,请查看 .debug() 命令。

它并没有完全正是@Sandro所寻求的,但它提供了替代来改变你的文本编辑器,用于花哨,笨重的IDE:

  • 停止执行当前正在运行的测试(只需在您想要“断点”的行之后添加browser.debug());
  • 将您的终端变为read-eval-print-loop;
  • 授予您访问找到该对象的browser对象以及所有其他对象API commands

缺点:

  • 您必须“重新创建”某些设置,直到该点为止(无法从REPL界面访问变量和包含的值)。

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

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