Tutorial da API WebPagetest com exemplo

Antes de aprendermos mais sobre a API webpagetest, vamos entender-

O que é WebPagetest?

Webpagetest é uma das ferramentas mais populares e gratuitas para medir o desempenho de páginas da web. O Webpagetest permite que você execute testes de desempenho da web em seu site a partir de vários locais diferentes ao redor do mundo em vários navegadores diferentes.

API WebPagetest

Entre no seu site e clique em Iniciar teste. A seguir, você verá a janela de saída como abaixo

API WebPagetest

Nesta página, você pode encontrar valores para os seguintes parâmetros da sua página da web

  • Tempo de carregamento – tempo necessário para carregar a página
  • Hora do primeiro byte – hora em que sua solicitação começou a ser executada
  • Tamanho da página – Tamanho total da sua página da web
  • Solicitações – Número de solicitações feitas por sua página da Web.

API WebPagetest

Webpagetest tem 2 APIs principais

  1. Para executar testes – http://www.webpagetest.org/runtest.php.
  2. Para verificar o status do teste – http://www.webpagetest.org/testStatus.php
  3. Para obter resultados de testes – http://www.webpagetest.org/testStatus.php

Para executar testes:

  • Para executar um teste você pode fazer um GET ou um POST para http://www.webpagetest.org/runtest.php.
  • Em resposta, você será redirecionado para a página de resultados ou receberá uma resposta XML (dependendo se o XML foi solicitado).
  • Você precisa da API KEY para usar a API Webpagetest e deve entrar em contato com wepagetest.org para obter sua API KEY. Com esta chave de API, você pode enviar no máximo 100 testes por dia, caso precise de uma instância privada. Para instância privada – configure um ambiente de teste em seu próprio servidor.
  • Amostra - http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>

Definir parâmetros

  • URL – URL a ser testado
  • execuções – Número de execuções de teste
  • fvonly – Defina como 1 para pular o teste de repetição de visualização
  • f – Formato da Resposta. Defina como XML para solicitar uma resposta XML ou JSON para resposta codificada em JSON
  • k – Chave API (obrigatório para instância pública)

Para verificar o status do teste

  • Depois de enviar um teste, você receberá a seguinte resposta XML.

Verifique o status do teste

  • Verifique o campo testId na resposta e anote-o
  • Webpagetest é uma ferramenta gratuita e popular, portanto, para garantir um uso justo, sua solicitação deve ficar na fila e aguardar sua vez.
  • Você pode verificar o status do teste fazendo um GET em http://www.webpagetest.org/testStatus.php com seu ID de teste.
  • Exemplo - http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ

Verifique o status do teste

Essas informações fornecem o ID do teste, a hora de início, o número de execuções solicitadas pelo teste, etc.

Para verificar os resultados do teste

Passe no testado para a API – http://www.webpagetest.org/xmlResult/141107_12_BXZ/

Você verá os resultados do teste em formato XML como abaixo

Verifique os resultados do teste

Exemplo de código PHP para usar a 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;
	?>
  • Agora faça outra ligação depois de algum tempo para obter os resultados do teste
 <?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;
	}
	?>