2012-11-06 56 views
1

我正在開發一個跨域RPC庫,我想使用qunit進行一些單元測試。在phantomjs中qunit測試期間在iframe中顯示JS錯誤

爲了做測試正確我設置一個啓動一個Node.js的服務器和phantomjs到測試rpc.html加載描述here(使用服務器任務,以便不同的域可以模擬,localhost咕嚕文件127.0.0.1)。此測試打開一個iframe,其中frame.html嘲笑在rpc.html內聲明的RPC命令。

到目前爲止都很好。我遇到的問題是,只要在frame.html內發生JS錯誤,它就不會輸出到控制檯。僅顯示rpc.html中發生的錯誤。雖然console.log()等輸出在frame.html工作。

有沒有一種方法可以讓我顯示所有發生在frame.html的JavaScript錯誤,包括解析錯誤等?

預先感謝您。

+2

你有'onError'處理程序(PhantomJS,frame.hmtl)嗎? – Stan

+0

@Stan嗯,是的,實際上工作 - 即使在語法錯誤:O。將它與'console.error()'結合起來可以解決我的問題。非常感謝 - 我認爲你應該將它作爲答案發布...... –

回答

3

PhantomJS在其page對象中支持onError事件處理程序,以便可以攔截並處理有關JavaScript異常的信息。如果加載的網頁沒有自己的window.onerror,你應該檢查一下,因爲如果它們返回true,錯誤將被視爲已處理。