WebPagetest API 教程及示例
在了解更多关于 Webpagetest API 之前,让我们先来理解一下——
什么是 WebPagetest?
Webpagetest 是衡量网页性能最流行且免费的工具之一。Webpagetest 允许您从世界各地的多个不同位置,使用多种不同的浏览器对您的网站运行网页性能测试。
输入您的网站地址,然后点击“开始测试”。接下来,您将看到如下所示的输出窗口。
在此页面,您可以找到您网页以下参数的值:
- 加载时间 – 页面加载所需的时间
- 首次响应时间 – 您的请求开始执行的时间
- 页面大小 – 您网页的总大小
- 请求数 – 您的网页发起的请求数量。
WebPagetest API
Webpagetest 有两个主要 API:
- 运行测试 – http://www.webpagetest.org/runtest.php。
- 检查测试状态 – http://www.webpagetest.org/testStatus.php
- 获取测试结果 – http://www.webpagetest.org/testStatus.php
运行测试
- 要运行测试,您可以向 http://www.webpagetest.org/runtest.php 发送 GET 或 POST 请求。
- 作为响应,您将要么被重定向到结果页面,要么收到 XML 响应(取决于是否请求了 XML)。
- 您需要 API KEY 才能使用 Webpagetest API,并且您必须联系 wepagetest.org 获取您的 API KEY。使用此 API 密钥,您每天最多可以提交 100 个测试;更多测试需要私有实例。对于私有实例 – 在您自己的服务器上设置测试环境。
- 示例 – http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>
设置参数
- URL – 要测试的 URL
- runs – 测试运行次数
- fvonly – 设置为 1 以跳过重复视图测试
- f – 响应格式。设置为 XML 请求 XML 编码的响应,或 JSON 请求 JSON 编码的响应
- k – API 密钥(公共实例必需)
检查测试状态
- 提交测试后,您将收到以下 XML 响应。
- 在响应中检查 testId 字段并记下它。
- Webpagetest 是一个免费且流行的工具,为确保公平使用,您的请求必须排队等待。
- 您可以通过向 http://www.webpagetest.org/testStatus.php 发送 GET 请求并附带您的 test id 来检查测试状态。
- 示例 – http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ
这些信息包括测试 ID、开始时间、请求测试的运行次数等。
检查测试结果
将测试 ID 传递给 API – http://www.webpagetest.org/xmlResult/141107_12_BXZ/
您将看到如下所示的 XML 格式的测试结果。
使用 Webpagetest API 的 PHP 代码示例
<?php $url = <a href=https://guru99.com.cn //url to test $api_key = "<your-copy-api-key>"; // your api key $webpagetest = "http://www.webpagetest.org/runtest.php?url=$url&runs=1&f=xml&k=$api_key"; $xmlres = simplexml_load_file($webpagetest); $testid = $xmlres->data->testId; echo "Test id : ".$testid." For url : ".$url; ?>
- 稍后再次调用 API 以获取测试结果。
<?php $test_id = "<test-id-you-got-from-request-call>"; $weburl = "http://www.webpagetest.org/xmlResult/$test_id/"; $xmlres = simplexml_load_file($weburl); if($xmlres){ $loadtime = ($xmlres->data->average->firstView->loadTime)/1000; echo "WebPage loadtime is : ".$loadtime; } ?>