检查 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
},
我想通了,我可以使用 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
},