API - actindi/compose_files_for_webpagetest GitHub Wiki

WebPagetest - Website Performance and Optimization Test はAPIからも計測を実行することができる。

ドキュメントはこちら => WebPageTest API Reference | WebPageTest Documentation

APIキーの取得

パブリックサーバの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"
    }
}
⚠️ **GitHub.com Fallback** ⚠️