API - actindi/compose_files_for_webpagetest GitHub Wiki
WebPagetest - Website Performance and Optimization Test はAPIからも計測を実行することができる。
ドキュメントはこちら => WebPageTest API Reference | WebPageTest Documentation
パブリックサーバのAPIを利用するには APIキーを取得する必要がある。プライベートサーバでは不要。
WebPagetest - Get API Key で所定の情報を入力する。 必須はメールアドレスとロボットチェックと規約への同意のみ。 サブミットするとメールが送信されてきて、それに記載されたリンクを叩くとAPIキーが送信されてくる。
詳しくはドキュメントを参照のこと。
下記は次の条件で計測をリクエストする例。
- runs=3 :3回計測
- mobile=1&mobileDevice=iPhone6 :Chromeのモバイルエミュレーションを有効にして iPhone6でエミュレート
- lighthouse=1 :Lighthouseでも計測する
- location=ec2-ap-northeast-1:Chrome.LTE :東京リージョンでChrome、LTEの回線速度で計測
- label :ログ識別のためのラベルを設定する。例では
test1
と設定 - f=json :レスポンスはJSON形式
- video=1 :video をキャプチャ
https://www.webpagetest.org/runtest.php?k=<APIキー>&url=<テスト対象URL>&runs=3&mobile=1&mobileDevice=iPhone6&lighthouse=1&label=test1&location=ec2-ap-northeast-1:Chrome.LTE&f=json&video=1
locationに指定できる値は Location informationAPI で取得できる
リクエストに成功すると次のようなレスポンスが返ってくる。
userUrl
のURLにアクセスするとUIから計測した場合と同様の結果を参照できる。
{
"statusCode": 200,
"statusText": "Ok",
"data": {
"testId": "171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"ownerKey": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"jsonUrl": "https://www.webpagetest.org/jsonResult.php?test=171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"xmlUrl": "https://www.webpagetest.org/xmlResult/171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/",
"userUrl": "https://www.webpagetest.org/result/171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/",
"summaryCSV": "https://www.webpagetest.org/result/171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/page_data.csv",
"detailCSV": "https://www.webpagetest.org/result/171121_QC_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/requests.csv"
}
}