debugging - 如何在 nightwatch 中调试

标签 debugging nightwatch.js

我正在尝试在 nightwatch 中进行调试。
当我放入 console.log 时,它会在测试运行之前打印 - 同时它会进行某种测试的构建/编译。
我还尝试了 Visual Studio 代码调试器和同样的事情 - 在实际运行测试之前命中断点。
感谢您的帮助 - 马克

最佳答案

“nightwatch”建立在 node.js 之上。 Node.js 异步执行语句。如果你写 console.log(); ,它将异步执行。
您使用 browser 编写的语句(或 client )对象(例如 browser.url();browser.click(); 等)将在 Selenium 服务器上排队。它们也由 node.js 异步执行,但在 selenium 服务器上排队。
执行 console.log()与 nightwatch 中的其他语句同步,使用 .perform() .您将获得与其他语句同步的输出。
例子

var elementValue;
browser
.getValue('.some-element', function(result) {
  elementValue = result.value;
})
// other stuff going on ...
//
// self-completing callback
.perform(function() {
  console.log('elementValue', elementValue);
  // without any defined parameters, perform
  // completes immediately (synchronously)
})
.end();
出于调试目的,您可以停止执行以查找元素值或检查浏览器相关数据。使用此命令: browser.pause(); (或 client.pause();)。不要在这里传递任何计时器。它将停止执行。

关于debugging - 如何在 nightwatch 中调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36579361/

相关文章:

javascript - 如何覆盖 on_failure 屏幕截图的命名?

node.js - 如何将 docker 容器端口公开给另一个容器

debugging - 什么是调试器以及它如何帮助我诊断问题?

.net - Windows 7 上 mscoree.dll 的位置和实例

debugging - UWP 无法调试 .NET 编译代码(发布版)

node.js - 运行 Nightwatch 时如何增加内存使用量

javascript - 如何使用 jquery 编写 nightwatch 自定义命令

windows - ntdll 模块未在 windbg 中正确加载,但为什么?

objective-c - 发布和调试构建中的不同代码/配置 (Obj-C)

javascript - 从元素 ID 获取 Json 元素值