为什么量角器调试器的作用域中没有任何内容



我在OSX上,安装了1.3.1版量角器。如果我在测试中放入browser.debug()并使用运行

$dractor调试测试/dractor.conf.js

我进入调试器屏幕。然后我点击"c",它似乎在我的断点处停止了。然而,似乎没有任何内容在范围内,所有内容都是未定义的。

调试>浏览器ReferenceError:浏览器未定义

如果我输入"repl",我会进入一个节点repl循环(我想是?),我可以查看浏览器对象,但测试中的本地变量似乎都不在范围内,它们都是未定义的。

有什么建议吗?

是的,要检查变量/评估代码,需要先转到repl。如果当前范围中没有引用变量,则v8可能会对它们进行优化。可能的解决方案:在代码中引用它们,添加with({})块,使用try/catch或其他一些方法

您的局部变量不会显示,因为browser.debugger不会在同一个局部作用域中暂停-它所做的是向控制流队列添加一个命令,以便在控制流到达那里时进行调试。

这是可取的,因此如果您的测试进行

someElem.click();
browser.debugger();
otherElem.click();

它将在点击后暂停,而不是在计划好之后。

如果您想调查局部变量,您仍然可以直接使用debugger;

最新更新