特定のページを延々リロードしてページ取得にかかった時間を記録するスクリプト書いた

wshieを起動して、ieに特定のページを延々リロードさせて、各回のページ取得にかかった時間を記録するスクリプト書いた。使った言語はJavaScript

var uri = WScript.Arguments(0);
var ie = WScript.CreateObject("InternetExplorer.Application");
ie.Visible = true;
while(ie != null){
  startTime = +new Date();
  ie.Navigate(uri);
  while(ie.Busy || ie.readystate != 4){
    WScript.Sleep(100);
  }
  endTime = +new Date();
  WScript.Echo(new Date() + "\t" + (endTime - startTime));
  WScript.Sleep(60000);
}

ie != nullのとこはとくに意味はない。無限ループさせてるだけ。つうかブラウザのクローズを検知させたかったんだけどやり方が分かんなかった。
こんな感じで使う。

>cscript //nologo navitime.js http://d.hatena.ne.jp/takanoo/
Tue Sep 27 21:22:06 UTC+0900 2011       7339
Tue Sep 27 21:23:07 UTC+0900 2011       1337

ページ取得完了した時刻とかかった時間(ミリ秒)がタブ区切りで標準出力に表示される。止めたくなったらCtrl+Cで止める。

単純に標準出力に出してるので、ファイルとかに書きたいときはリダイレクトしてやる。

>cscript //nologo navitime.js http://d.hatena.ne.jp/takanoo/ >> navitime.log
^C
>type navitime.log
Tue Sep 27 21:37:56 UTC+0900 2011       452
Tue Sep 27 21:38:56 UTC+0900 2011       216