我正在尝试在守夜人中调试。
当我放入console.log时,它会在测试运行之前进行打印-在进行某种形式的测试构建/编译时。
我还尝试了Visual Studio代码调试器和相同的东西-在实际运行测试之前点击断点。
感谢您的帮助-标记
最佳答案
“守夜人”是建立在node.js之上的。 Node.js异步执行语句。如果您编写console.log();
,它将被异步执行。
您使用browser
(或client
)对象(例如browser.url();
,browser.click();
等)编写的语句将在Selenium Server中排队。它们也由node.js异步执行,但在selenium服务器上排队。
要与守夜中的其他语句同步执行console.log()
,请使用 .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 - 如何在守夜人中进行调试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36579361/