为什么量角器调试器的范围不大?

时间:2014-10-31 01:18:08

标签: node.js debugging protractor

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

运行

$ protractor debug test / protractor.conf.js

我进入调试器屏幕。然后我点击“c”,它似乎停在我的断点处。 但是,似乎没有任何内容,所有内容都是未定义的。

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

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

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

是的,要检查变量/评估代码,首先需要进行重新编译。如果在当前范围中未引用变量,则v8可能会对这些变量进行优化。可能的解决方案:在代码中引用它们,添加with({})块,使用try / catch或some other ways

答案 1 :(得分:0)

您的局部变量没有显示,因为browser.debugger没有在同一个本地范围内暂停 - 它的作用是向控制流队列添加一个命令,以便在控制流到达时进行调试。 p>

如果您的测试确实

,这是可取的
someElem.click();
browser.debugger();
otherElem.click();

点击发生后它会暂停,而不是在计划完成后暂停。

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