1

我正在尝试将WebPagetest测试作为我持续集成过程的一部分。换句话说,只要关键性能指标超出范围,我就想破坏构建。

WebPagetest 提供了 RESTful API来驱动它。

我的大部分测试都是基于FitNesse的,所以我想用 FitNesse 语言表达我的性能要求。

是否有能够驱动 WebPagetest 的 Java 客户端,验证结果是否在要求的范围内并以某种格式生成它们(例如 JUnit)。理想情况下,我想要一组允许调用 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 回答