2013-08-15 2 views
0

CasperJS 1.0.3 및 PhantomJS 1.9.0을 사용하고 있습니다. 때때로, 'undefined' is not an object (evaluating 'c.startedAt.getTime') [object Object],[object Object]이라는 오류가 발생합니다. 드물게 c.startedAt.getTime 대신 b.getTime이됩니다. 몇 가지 선택 페이지에서만 발생하며이 페이지가 공통적으로 가지고있는 유일한 점은 매우 JavaScript가 많이 걸린다는 것입니다.'undefined'는 ('c.startedAt.getTime'을 평가하는) 객체가 아니거나 'b.getTime'을 평가하는 객체가 아닙니다.

이 오류가 발생하면 페이지가 예상대로로드되고 정상적으로 실행되며 테스트는 정상적으로 계속 실행되지만이 오류는 순수한 통과/실패 관점에서 많은 위음을 유발합니다.

이 오류 표면에 사용 된 모든 자바 스크립트를 평가했으며 c.startedAt.getTimeb.getTime은 dev 및 minified 버전의 파일에 없습니다.

이 오류를 본 사람이 있습니까? CasperJS와 관련된 문제입니까? PhantomJS? 일부 특정 페이지에서만 발생한다는 사실로 인해 해당 페이지의 문제라고 생각되지만, 내가 말한 것처럼 소스 자바 스크립트에서 원격으로 c.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 
+1

대부분의 JavaScript 라이브러리에는 성능상의 이유로 내부 오류 검사가 없습니다. 따라서 라이브러리 서비스를 부적절하게 호출하면 종종 라이브러리 내부에서 오류가 발생합니다. 그러나 근본적인 문제는 라이브러리 코드 자체가 아니라 라이브러리 코드 자체입니다. – Pointy

답변

0

객체가로드 될 때까지 기다리는하지 않기 때문에 그것의 가능성이 높습니다. 특정 div 인 경우 waitForSelector을 사용하거나 wait을 사용하십시오. 그냥

casper.wait(11000, function(){ 
    //your code here 
}); 

를 사용하여 빠른 테스트를 할 당신은 casper을 필요로하는 중 객체와 casper를 교체해야 할 수 있습니다.

관련 문제