我正在使用 CasperJS 1.0.3 和 PhantomJS 1.9.0。时不时地出现一个错误说'undefined' is not an object (evaluating 'c.startedAt.getTime') [object Object],[object Object]
。更罕见的是,它将b.getTime
代替c.startedAt.getTime
. 它只发生在几个选定的页面上,这些页面唯一的共同点是它们非常依赖 JavaScript。
发生此错误时,页面正在加载并完全按预期运行,并且测试继续按应有的方式运行,但是从纯粹的通过/失败的角度来看,此错误会导致大量误报。
我已经评估了在这个错误表面的页面上使用的所有 javascript,c.startedAt.getTime
并且b.getTime
不在任何文件中,无论是开发版本还是缩小版本。
有没有人见过这个错误?这是 CasperJS 的问题吗?幻影JS?它只发生在几个特定页面上的事实让我认为这是这些页面的问题,但就像我说的那样,我找不到任何与源 javascriptc.startedAt.getTime
或远程相似的东西。b.getTime
我还以各种组合使用了 CasperJS 1.0.2 和 PhantomJS 1.9.1,但仍然出现错误。
一些上下文的日志:
[info] [phantom] Step 1143/1151: done in 18ms.
[info] [phantom] Step 1144/1151 (url removed for privacy)
[info] [phantom] Step 1144/1151: done in 0ms.
FAIL Error: TypeError: 'undefined' is not an object (evaluating 'c.startedAt.getTime') [object Object],[object Object]
Error: TypeError: 'undefined' is not an object (evaluating 'c.startedAt.getTime')[object Object],[object Object]
[Error: TypeError: 'undefined' is not an object (evaluating 'c.startedAt.getTime')[object Object],[object Object]] fail failed
[Error: TypeError: 'undefined' is not an object (evaluating 'c.startedAt.getTime')[object Object],[object Object]] subject: false
# type: fail
# subject: false