作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 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/
我是一名优秀的程序员,十分优秀!