phantomjsを使用して、ページに影響を及ぼす競合状態の可能性についてのメトリックを取得しようとしています。私は2つのスクリプトファイルを持っています。私のサイトでホストされているいくつかの機能は、 。onResourceReceivedはすべてのリソースを2回記録しますか?
phantomjsでonResourceReceivedを使用すると、各ファイルが読み込まれたときにログに記録して、この競合状態がどれほど頻繁に発生するかというアイデアを得るためにそのテストを何度も実行すると思っていました。ではない実際のコードと私はBBCと提携していないよ):
(function (p, wp) {
"use strict";
var page, start,
count = 0, max = 10,
webpage = require('webpage'),
url = "http://www.bbc.co.uk";
function process() {
if (max == count) {
console.log('done processing!');
p.exit();
} else {
count++;
start = new Date();
page = wp.create();
page.onResourceReceived = onResourceReceived;
page.open(url, onOpen);
}
}
function onResourceReceived(response) {
var match, t = new Date(),
url = response.url,
status = response.status;
t = t.valueOf() - start.valueOf();
if (!!(match = url.match(/locator\.css/))) {
console.log(match[0] + ': ' + t + 'msecs status: ' + status);
}
if (!!(match = url.match(/en-GB\.json/))) {
console.log(match[0] + ': ' + t + 'msecs status: ' + status);
}
};
function onOpen() {
console.log('Test ' + count + ' done!!!');
page.close();
process();
}
process();
}(phantom, require('webpage')));
これはちょっと私はこれがある理由各ファイルは、2回記録されていることを除いて期待どのように実行しますか? 時々時差が非常に異なっています。 locator.css:323msecsステータス:200 locator.css:323msecsステータス:200 エンGB.json:2199msecsステータス:200 エンGB.json:2200msecsステータス:200 試験1行います!
この回答は完璧です –