Учебное пособие по API WebPagetest с примером

Прежде чем мы узнаем больше об API веб-страницы, давайте поймем:

Что такое WebPagetest?

Webpagetest — один из самых популярных и бесплатных инструментов для измерения производительности веб-страниц. Webpagetest позволяет запускать веб-тесты производительности вашего сайта из разных мест по всему миру в разных браузерах.

API веб-страницы

Введите свой веб-сайт и нажмите «Начать тест». Далее вы увидите окно вывода, как показано ниже.

API веб-страницы

На этой странице вы можете найти значения для следующих параметров вашей веб-страницы.

  • Время загрузки — время, необходимое для загрузки страницы.
  • Время первого байта — время, когда ваш запрос начал выполняться.
  • Размер страницы – общий размер вашей веб-страницы.
  • Запросы — количество запросов, сделанных вашей веб-страницей.

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 Webpagetest вам понадобится API KEY, и вам необходимо связаться с 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 для тестирования.
  • прогоны – количество тестовых прогонов
  • fvonly — установите значение 1, чтобы пропустить тест повторного просмотра.
  • f – Формат ответа. Установите значение XML для запроса ответа XML или JSON для ответа в кодировке JSON.
  • k — API-ключ (требуется для общедоступного экземпляра)

Проверка статуса теста

  • После отправки теста вы получите следующий ответ в формате XML.

Проверьте статус теста

  • Проверьте поле testId в ответе и запишите его.
  • Webpagetest — это бесплатный и популярный инструмент, поэтому для обеспечения справедливого использования ваш запрос должен стоять в очереди и ждать своей очереди.
  • Вы можете проверить статус теста, выполнив GET на http://www.webpagetest.org/testStatus.php со своим идентификатором теста.
  • Пример - http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ

Проверьте статус теста

Эта информация содержит идентификатор теста, время начала, количество запрошенных запусков теста и т. д.

Проверка результатов теста

Передайте протестированное API – http://www.webpagetest.org/xmlResult/141107_12_BXZ/

Вы увидите результаты теста в формате XML, как показано ниже.

Проверить результаты теста

Пример PHP-кода для использования API Webpagetest

	<?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;
	}
	?>