我正在尝试在 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/