Tutorial de API de WebPagetest con ejemplo

Antes de aprender mรกs sobre la API de prueba de pรกgina web, comprendamos:

ยฟQuรฉ es WebPageTest?

Webpagetest es una de las herramientas mรกs populares y gratuitas para medir el rendimiento de una pรกgina web. Webpagetest le permite ejecutar pruebas de rendimiento web en su sitio desde diferentes ubicaciones en todo el mundo en varios navegadores diferentes.

API de prueba de pรกgina web

Ingrese a su sitio web y haga clic en Iniciar prueba. A continuaciรณn, verรก la ventana de salida como se muestra a continuaciรณn.

API de prueba de pรกgina web

Desde esta pรกgina, puede encontrar valores para los siguientes parรกmetros de su pรกgina web

  • Tiempo de carga: tiempo necesario para cargar la pรกgina.
  • Hora del primer byte: hora en la que su solicitud comenzรณ a ejecutarse
  • Tamaรฑo de pรกgina: tamaรฑo total de su pรกgina web
  • Solicitudes: nรบmero de solicitudes realizadas por su pรกgina web.

API de prueba de pรกgina web

Webpagetest tiene 2 API principales

  1. Para ejecutar pruebas โ€“ http://www.webpagetest.org/runtest.php.
  2. Para verificar el estado de la prueba โ€“ http://www.webpagetest.org/testStatus.php
  3. Para obtener los resultados de la prueba: http://www.webpagetest.org/testStatus.php

Para ejecutar pruebas:

  • Para ejecutar una prueba, puede realizar un GET o un POST para http://www.webpagetest.org/runtest.php.
  • En respuesta, serรก redirigido a la pรกgina de resultados o recibirรก una respuesta XML (dependiendo de si se solicitรณ XML).
  • Necesita API KEY para utilizar Webpagetest API y debe comunicarse con wepagetest.org para obtener su API KEY. Con esta clave API, puede enviar un mรกximo de 100 pruebas por dรญa; para mรกs, necesita una instancia privada. Para instancia privada: configure un entorno de prueba en su propio servidor.
  • Muestra - http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>

Establecer parรกmetros

  • URL: URL que se va a probar
  • ejecuciones: nรบmero de ejecuciones de prueba
  • fvonly: establezca en 1 para omitir la prueba de repeticiรณn de vista
  • f โ€“ Formato de respuesta. Establezca en XML para solicitar una respuesta XML o JSON para una respuesta codificada en JSON.
  • k โ€“ Clave API (requerido para instancia pรบblica)

Para verificar el estado de la prueba

  • Una vez que envรญe una prueba, recibirรก la siguiente respuesta XML.

Verificar el estado de la prueba

  • Verifique el campo testId en respuesta y anรณtelo
  • Webpagetest es una herramienta gratuita y popular, por lo que para garantizar un uso justo, su Solicitud debe permanecer en la cola y esperar su turno.
  • Puede verificar el estado de la prueba haciendo un GET en http://www.webpagetest.org/testStatus.php con su identificaciรณn de prueba.
  • Ejemplo http://www.webpagetest.org/testStatus.php?f=xml&test=141107_12_BXZ

Verificar el estado de la prueba

Esta informaciรณn proporciona el ID de la prueba, la hora de inicio, el nรบmero de ejecuciones que solicitรณ la prueba, etc.

Para verificar los resultados de la prueba

Pasar lo probado a la API โ€“ http://www.webpagetest.org/xmlResult/141107_12_BXZ/

Verรก los resultados de la prueba en formato XML como se muestra a continuaciรณn.

Comprobar los resultados de la prueba

Ejemplo de cรณdigo PHP para utilizar la API de 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;
	?>
  • Ahora haga otra llamada despuรฉs de un tiempo para obtener los resultados de la prueba.
 <?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;
	}
	?>

Resumir este post con: