2016-10-10 6 views
2

하나의 응용 프로그램을 테스트하기 위해 casperJS를 사용하고 있습니다. 사실, waitForSelector()를 사용하여 대기중인 요소를 실제로 수신하는 데 걸린 시간을 캡처하고 싶습니다.
enter image description hereCasperJS에서 waitFor()가 대기 한 시간을 어떻게 캡처 할 수 있습니까?

을 내가 그 가치를 얻을하고 그것을 저장할 :

내가 디버그 로그 수준을 설정하면, 그것은 표시 내가 기다리고 있었다 요소 걸린 시간을 콘솔에 표시 변하기 쉬운. 이것이 CasperJS/PhantomJS와 가능한가? 그렇지 않은 경우 대신 어떤 프레임 워크를 사용할 수 있습니까?

+0

주어진 답변으로 문제가 해결되면 [수락] (http://meta.stackexchange.com/q/5234/266187) 할 수 있습니다. 그렇지 않다면, 무엇이 잘못되었는지 확장하십시오. –

답변

2

할 - 그것 - 스스로 접근 방식은 충분히 정확해야하는 시간 자신을하는 것입니다 : 물론

var start; 
casper.then(function(){ 
    start = new Date().getTime(); 
}); 
casper.waitFor(...); 
casper.then(function(){ 
    this.echo("waitFor() took " + (new Date().getTime() - start) + " ms"); 
}); 

이 매우 재사용하지 않습니다. 단지 "log" event에 등록 쉬울 것 :이 비동기 것을

casper.on("log", function(logEntry){ 
    if (logEntry.message.indexOf("waitFor() finished in ") === 0) { 
     var time = parseInt(logEntry.message.match(/\d+/)[0]); 
     // TODO: do something with the time 
    } 
}); 

주,하지만 당신은 여전히 ​​이벤트 핸들러에서 단계 (then*wait* 기능)을 예약 할 수 있습니다.

타임 아웃 케이스에 관심이있는 경우 "waitFor.timeout" 이벤트에 등록 할 수 있습니다.