在phantomjs中的qunit测试期间显示iframe中的JS错误

时间:2012-11-06 03:16:35

标签: javascript cross-domain qunit phantomjs gruntjs

我正在开发一个跨域RPC库,我想用qunit进行一些单元测试。

为了正确地进行测试,我设置了一个grunt文件来启动node.js服务器和phantomjs来加载here所描述的测试rpc.html(使用服务器任务所以可以模拟不同的域,localhost127.0.0.1)。此测试打开一个带有frame.html的iframe,用于模拟在rpc.html内声明的RPC命令。

到目前为止一切都很好。我遇到的问题是,只要在frame.html内发生JS错误,它就不会输出到控制台。仅显示rpc.html中发生的错误。虽然console.log()等的输出在frame.html中有效。

有没有办法可以显示frame.html中出现的所有JavaScript错误,包括解析错误等?

提前谢谢。

1 个答案:

答案 0 :(得分:3)

PhantomJS在其onError个对象中支持page个事件处理程序,因此可以截取并处理有关JavaScript异常的信息。

AFAIK,您还应该检查加载的网页是否没有自己的window.onerror,因为如果它们返回true,则错误将被视为已处理。