2014-10-31 107 views
2

我在OSX上,安裝了量角器版本1.3.1。如果我把browser.debugger()在我的測試,並與量角器調試器中爲什麼沒有範圍?

$量角器調試試運行/ protractor.conf.js

我進入調試屏幕。然後我打「c」,它似乎停在我的斷點處。 然而,似乎沒有什麼在範圍內,一切都以未定義的形式出現。

調試>瀏覽器 的ReferenceError:瀏覽器沒有定義

如果我輸入「REPL」,我去到一個節點REPL循環(我想?),我可以看一下瀏覽器對象,但沒有我來自測試的局部變量似乎在範圍內,它們都是未定義的。

有什麼建議嗎?

回答

0

是的,檢查變量/評估你需要先去repl的代碼。如果在當前範圍內沒有引用它們,您的變量可能會被v8優化。可能的解決方案:引用它們的代碼,添加with({})塊,使用的try/catch或some other ways

+0

使用({})添加;在斷點之上代碼似乎沒有效果。不確定問題是否是優化器? – 2014-10-31 16:10:53

0

你的局部變量不會顯示出來,因爲browser.debugger並不在同一個局部範圍內暫停 - 它的作用是添加一個命令控制流隊列在控制流到達時進行調試。

這是可取的,因此如果您的測試確實

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

已經發生了點擊後就會暫停,而不是已經計劃之後。

如果您想調查局部變量,則仍然可以直接使用debugger;

+0

嗨,朱莉,謝謝。無論出於什麼原因,當我使用普通的npm調試器時,我根本沒有任何停頓,這只是通過測試而已。任何想法爲什麼這可能是? – 2014-11-05 22:41:50

相關問題