Учебное пособие по API WebPagetest с примером
Прежде чем мы узнаем больше об API веб-страницы, давайте поймем:
Что такое WebPagetest?
Webpagetest — один из самых популярных и бесплатных инструментов для измерения производительности веб-страниц. Webpagetest позволяет запускать веб-тесты производительности вашего сайта из разных мест по всему миру в разных браузерах.
Введите свой веб-сайт и нажмите «Начать тест». Далее вы увидите окно вывода, как показано ниже.
На этой странице вы можете найти значения для следующих параметров вашей веб-страницы.
- Время загрузки — время, необходимое для загрузки страницы.
- Время первого байта — время, когда ваш запрос начал выполняться.
- Размер страницы – общий размер вашей веб-страницы.
- Запросы — количество запросов, сделанных вашей веб-страницей.
API веб-страницы
Webpagetest имеет 2 основных API
- Для запуска тестов – http://www.webpagetest.org/runtest.php.
- Чтобы проверить статус теста – http://www.webpagetest.org/testStatus.php
- Чтобы получить результаты теста – 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; } ?>