我正在尝试在守夜人中调试。
当我放入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/

10-13 08:22