Урок за API на WebPagetest с пример
Преди да научим повече за API на webpagetest, нека разберем -
Какво е WebPagetest?
Webpagetest е един от най-популярните и безплатни инструменти за измерване на ефективността на уеб страницата. Webpagetest ви позволява да провеждате тестове за уеб ефективност на вашия сайт от няколко различни места по света в редица различни браузъри.
Въведете уебсайта си и щракнете върху Старт на теста. След това ще видите изходния прозорец като по-долу
От тази страница можете да намерите стойности за следните параметри на вашата уеб страница
- Време за зареждане – Времето, необходимо за зареждане на страницата
- First Byte Time – Времето, когато вашата заявка е започнала да се изпълнява
- Размер на страницата – Общ размер за вашата уеб страница
- Заявки – Брой заявки, направени от вашата уеб страница.
API на WebPagetest
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 KEY, за да използвате API на Webpagetest, и трябва да се свържете с 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;
}
?>





