2
我正在使用casperJS來測試一個應用程序。 事情是,我想捕獲實際需要多長時間接收waitForSelector()等待的元素。如何捕獲waitper()在CasperJS中等待的時間?
如果我設置日誌級別來調試,它顯示了多長時間,因爲我在等待元素出現在控制檯:
我想獲得該值,並將其存儲在一個變量。 CasperJS/PhantomJS可以嗎?如果不是,我可以使用什麼框架?
我正在使用casperJS來測試一個應用程序。 事情是,我想捕獲實際需要多長時間接收waitForSelector()等待的元素。如何捕獲waitper()在CasperJS中等待的時間?
如果我設置日誌級別來調試,它顯示了多長時間,因爲我在等待元素出現在控制檯:
我想獲得該值,並將其存儲在一個變量。 CasperJS/PhantomJS可以嗎?如果不是,我可以使用什麼框架?
的做自己動手的辦法是把自己這應該是足夠準確的時間:
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"
事件。
如果給定的答案解決了你的問題,你可以[接受](http://meta.stackexchange.com/q/5234/266187)它。如果沒有,請詳細說明哪裏出了問題。 –