Samouczek API WebPagetest z przykładem

Zanim dowiemy się więcej o interfejsie API webpagetest, zrozummy:

Co to jest WebPagetest?

Webpagetest to jedno z najpopularniejszych i darmowych narzędzi do pomiaru wydajności stron internetowych. Webpagetest umożliwia przeprowadzanie testów wydajności sieci w Twojej witrynie z wielu różnych lokalizacji na świecie i w wielu różnych przeglądarkach.

Interfejs API WebPagetest

Wejdź na swoją stronę i kliknij Rozpocznij test. Następnie zobaczysz okno wyjściowe jak poniżej

Interfejs API WebPagetest

Na tej stronie możesz znaleźć wartości dla następujących parametrów swojej strony internetowej

  • Czas ładowania – czas wymagany do załadowania strony
  • Czas pierwszego bajtu — czas rozpoczęcia wykonywania żądania
  • Rozmiar strony — całkowity rozmiar Twojej strony internetowej
  • Żądania – liczba żądań wysłanych przez Twoją stronę internetową.

Interfejs API WebPagetest

Webpagetest ma 2 podstawowe API

  1. Aby uruchomić testy – http://www.webpagetest.org/runtest.php.
  2. Aby sprawdzić status testu – http://www.webpagetest.org/testStatus.php
  3. Aby uzyskać wyniki testu – http://www.webpagetest.org/testStatus.php

Aby uruchomić testy:

  • Aby uruchomić test, możesz wykonać polecenie GET lub POST http://www.webpagetest.org/runtest.php.
  • W odpowiedzi zostaniesz przekierowany na stronę wyników lub otrzymasz odpowiedź w formacie XML (w zależności od tego, czy zażądano formatu XML).
  • Aby korzystać z interfejsu Webpagetest API, potrzebujesz klucza API i musisz skontaktować się z wepagetest.org, aby uzyskać klucz API. Za pomocą tego klucza API możesz przesłać maksymalnie 100 testów dziennie, a więcej potrzebujesz prywatnej instancji. W przypadku instancji prywatnej – skonfiguruj środowisko testowe na własnym serwerze.
  • Próbka - http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>

Ustaw parametry

  • URL – adres URL, który ma zostać przetestowany
  • przebiegi – liczba przebiegów testowych
  • fvonly – Ustaw na 1, aby pominąć test Powtórzenia widoku
  • f – Format odpowiedzi. Ustaw na XML, aby zażądać odpowiedzi XML lub JSON w przypadku odpowiedzi zakodowanej w formacie JSON
  • k – Klucz API (wymagane w przypadku instancji publicznej)

Aby sprawdzić status testu

  • Po wysłaniu testu otrzymasz następującą odpowiedź XML.

Sprawdź status testu

  • Sprawdź pole testId w odpowiedzi i zanotuj je
  • Webpagetest jest darmowym i popularnym narzędziem, dlatego aby zapewnić uczciwe wykorzystanie, Twoje zgłoszenie musi stać w kolejce i czekać na swoją kolej.
  • Możesz sprawdzić status testu, wykonując GET na http://www.webpagetest.org/testStatus.php, podając swój identyfikator testu.
  • Przykład - http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ

Sprawdź status testu

Informacje te zawierają identyfikator testu, czas rozpoczęcia, liczbę żądanych uruchomień testu itp.

Aby sprawdzić wyniki testu

Przekaż testowane do API – http://www.webpagetest.org/xmlResult/141107_12_BXZ/

Wyniki testu zobaczysz w formacie XML, jak poniżej

Sprawdź wyniki testu

Przykładowy kod PHP do korzystania z interfejsu 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;
	?>
  • Teraz Zadzwoń ponownie po pewnym czasie, aby uzyskać wyniki testu
 <?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;
	}
	?>