带有示例的 WebPagetest API 教程

在我们进一步了解网页测试 API 之前,让我们先了解一下-

什么是 WebPagetest?

Webpagetest 是最流行的免费网页性能测量工具之一。Webpagetest 可让您从全球多个不同位置使用多种不同浏览器对您的网站运行 Web 性能测试。

WebPage 测试 API

输入你的网站并点击开始测试。接下来,你将看到如下所示的输出窗口

WebPage 测试 API

从此页面,您可以找到网页以下参数的值

  • 加载时间 – 加载页面所需的时间
  • 第一个字节时间 – 请求开始执行的时间
  • 页面大小 – 网页的总大小
  • 请求 – 您的网页发出的请求数。

WebPage 测试 API

Webpagetest 有 2 个主要 API

  1. 运行测试 – http://www.webpagetest.org/runtest.php.
  2. 检查测试状态 – http://www.webpagetest.org/testStatus.php
  3. 要获得测试结果 – http://www.webpagetest.org/testStatus.php

运行测试:

  • 要运行测试,您可以发出 GET 或 POST 请求 http://www.webpagetest.org/runtest.php.
  • 作为响应,您将被重定向到结果页面或者您将收到 XML 响应(取决于是否请求 XML)。
  • 您需要 API KEY 才能使用 Webpagetest API,您必须联系 wepagetest.org 以获取您的 API KEY。使用此 API KEY,您每天最多可以提交 100 个测试,如果超过 XNUMX 个,您需要一个私有实例。对于私有实例 - 在您自己的服务器上设置测试环境。
  • 样本 - http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>

设置参数

  • URL – 要测试的 URL
  • 运行 – 测试运行次数
  • fvonly – 设置为 1 以跳过重复视图测试
  • f – 响应格式。设置为 XML 以请求 XML 响应或 JSON 以请求 JSON 编码响应
  • k – API 密钥 (公共实例必需)

检查测试状态

  • 一旦您提交测试,您将收到以下 XML 响应。

检查测试状态

  • 检查响应中的 testId 字段并记下它
  • Webpagetest 是一个免费且流行的工具,因此为了确保公平使用,您的请求必须排队并等待轮到您。
  • 您可以使用您的测试 ID 对 http://www.webpagetest.org/testStatus.php 执行 GET 来检查测试状态。
  • 示例– http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ

检查测试状态

该信息提供测试ID、开始时间、请求的测试运行次数等。

检查测试结果

将测试传递给 API – http://www.webpagetest.org/xmlResult/141107_12_BXZ/

您将看到如下所示的 XML 格式的测试结果

检查测试结果

使用 Webpagetest API 的 Php 代码示例

	<?php
	$url = <a href=https://www.guru99.com //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;
	?>
  • 现在过一段时间再打一次电话以获取测试结果
 <?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;
	}
	?>