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

⚡ Умное резюме

API WebPageTest позволяет программно отправлять результаты тестов производительности, используя ключи API и конечную точку runtest.php. LessЭти инструменты охватывают аутентификацию, форматы запросов, обработку ответов в формате JSON и XML, а также эффективное чтение данных результатов тестирования.

  • Конечная точка: Отправьте POST или GET-запрос на runtest.php.
  • 🔑 Авторизация: Заголовок X-WPT-API-KEY.
  • 📊 Формат: f=json или f=xml.

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

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

Что такое WebPagetest?

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

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

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

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

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

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

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

Webpagetest имеет 2 основных API

  1. Для запуска тестов – http://www.webpagetest.org/runtest.php.
  2. Чтобы проверить статус теста – http://www.webpagetest.org/
  3. Чтобы получить результаты теста – http://www.webpagetest.org/

Для запуска тестов:

  • Чтобы запустить тест, вы можете выполнить GET или POST для http://www.webpagetest.org/.
  • В ответ вы либо будете перенаправлены на страницу результатов, либо получите ответ в формате 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 Code Пример использования 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;
	}
	?>

Часто задаваемые вопросы (FAQ)

Зарегистрируйтесь на webpagetest.org и запросите ключ через панель управления. Платные тарифные планы начинаются от 15 долларов в месяц.

Инструменты искусственного интеллекта анализируют JSON, обобщают основные показатели веб-безопасности (Core Web Vitals), выявляют регрессии и рекомендуют исправления для изображений, CSS или JS.

Да. Copilot генерирует узел и Python скрипты, которые отправляют тесты, проверяют статус и анализируют результаты.

Подведем итог этой публикации следующим образом: