1

継続的インテグレーション プロセスの一部としてWebPagetestテストを含めようとしています。言い換えれば、重要なパフォーマンス指標が範囲外になるたびに、ビルドを壊したいと思っています。

WebPagetest は、それを駆動するための安らかな APIを提供します。

私のテストのほとんどはFitNesseベースなので、パフォーマンス要件を FitNesse 言語で表現したいと思います。

WebPagetest を駆動し、結果が必要な範囲内にあるかどうかを確認し、何らかの形式 (JUnit など) で生成できる Java クライアントはありますか。理想的には、WebPagetest を呼び出すための一連の FitNesse フィクスチャが必要です。

4

1 に答える 1

2

このツールの特定のフィクスチャについては知りませんが、その REST API (応答形式として XML または JSON を要求する) は、標準の REST フィクスチャを使用して簡単に使用できるようです。

たとえば、私のXmlHttpTestをスクリプト テーブルで使用できます。「set value」を使用して入力パラメータを設定し、「get from」を実行してから、「xPath」を使用して結果の要素/値をチェックします。

wiki テーブルをもう少し良くするために、標準フィクスチャのサブクラスを書くか、いくつかのシナリオを作成することができます。

例(シナリオあり)

|scenario |start web pagetest                                                             |location                    |
|set value|http://stackoverflow.com/questions/34595522/java-testing-client-for-webpagetest|for                |url     |
|set value|<your key>                                                                     |for                |k       |
|set value|@{location}                                                                    |for                |location|
|set value|xml                                                                            |for                |f       |
|get from |http://www.webpagetest.org/runtest.php                                                                      |
|show     |response                                                                                                    |
|check    |xPath                                                                          |//statusCode/text()|200     |
|$xmlUrl= |xPath                                                                          |//xmlUrl/text()             |

|scenario           |get web pagetest result|url                                 |
|clear values                                                                    |
|set value          |xml                    |for                       |f        |
|get from           |@{url}                                                      |
|show               |response                                                    |
|check              |xPath                  |//statusCode/text()       |200      |
|$firstViewAverage= |xPath                  |//average/firstView/loadTime/text() |
|$repeatViewAverage=|xPath                  |//average/repeatView/loadTime/text()|


|script|xml http test|

|start web pagetest       |
|location         |xmlUrl?|
|Dulles:Chrome.DSL|$url1= |
|Dulles:Firefox   |$url2= |

|script         |
|wait|40|seconds|

|get web pagetest result                   |
|url  |firstViewAverage?|repeatViewAverage?|
|$url1|<4000            |<3000             |
|$url2|<2000            |<1000             |
于 2016-01-05T09:26:36.613 に答える