دروس WebPagetest API مع مثال

⚡ ملخص ذكي

تقوم واجهة برمجة تطبيقات WebPageTest بإرسال اختبارات الأداء برمجيًا باستخدام مفاتيح API ونقطة النهاية runtest.php. Lessتغطي هذه المواضيع المصادقة، وتنسيقات الطلبات، ومعالجة استجابات JSON وXML، وقراءة بيانات نتائج الاختبار بفعالية.

  • ⚡ نقطة النهاية: استخدم الأمر POST أو GET لـ runtest.php.
  • 🔑 المؤلف: رأس X-WPT-API-KEY.
  • 📊 شكل: f=json أو f=xml.

واجهة برمجة تطبيقات WebPagetest

قبل أن نتعلم المزيد عن webpagetest API، دعونا نفهم-

ما هو WebPagetest؟

يعد Webpagetest إحدى الأدوات الأكثر شيوعًا والمجانية لقياس أداء صفحة الويب. يمكّنك Webpagetest من إجراء اختبارات أداء الويب على موقعك من عدد من المواقع المختلفة حول العالم في عدد من المتصفحات المختلفة.

واجهة برمجة تطبيقات WebPagetest

أدخل موقع الويب الخاص بك وانقر فوق "بدء الاختبار". بعد ذلك، سترى نافذة الإخراج كما هو موضح أدناه

واجهة برمجة تطبيقات WebPagetest

من هذه الصفحة، يمكنك العثور على قيم للمعلمات التالية لصفحة الويب الخاصة بك

  • وقت التحميل - الوقت يتطلب تحميل الصفحة
  • وقت البايت الأول – الوقت الذي بدأ فيه تنفيذ طلبك
  • حجم الصفحة - الحجم الإجمالي لصفحة الويب الخاصة بك
  • الطلبات – عدد الطلبات التي قدمتها صفحة الويب الخاصة بك.

واجهة برمجة تطبيقات WebPagetest

يحتوي Webpagetest على 2 واجهة برمجة تطبيقات أساسية

  1. لتشغيل الاختبارات – http://www.webpagetest.org/runtest.php.
  2. للتحقق من حالة الاختبار – http://www.webpagetest.org/
  3. للحصول على نتائج الاختبار – http://www.webpagetest.org/

لتشغيل الاختبارات:

  • لإجراء اختبار، يمكنك إجراء GET أو POST إليه http://www.webpagetest.org/.
  • ردًا على ذلك، ستتم إعادة توجيهك إلى صفحة النتائج أو ستتلقى استجابة XML (اعتمادًا على ما إذا تم طلب XML).
  • تحتاج إلى API KEY لاستخدام Webpagetest API، ويجب عليك الاتصال بـ wepagetest.org للحصول على API KEY الخاص بك. باستخدام مفتاح واجهة برمجة التطبيقات هذا، يمكنك إرسال 100 اختبار كحد أقصى يوميًا لمزيد من المعلومات التي تحتاج إلى مثيل خاص. بالنسبة للمثيل الخاص - قم بإعداد بيئة اختبار على الخادم الخاص بك.
  • عينة - http://www.webpagetest.org/runtest.php?url=guru99.com&runs=1&f=xml&k=<your-api-key>

ضبط المعلمات

  • URL - URL سيتم اختباره
  • عدد مرات التشغيل - عدد مرات التشغيل الاختبارية
  • fvonly – اضبط على 1 لتخطي اختبار العرض المتكرر
  • و – تنسيق الاستجابة. اضبط على XML لطلب استجابة XML أو JSON للاستجابة المشفرة بـ JSON
  • ك - مفتاح 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 Code مثال لاستخدام واجهة برمجة تطبيقات 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;
	}
	?>

الأسئلة الشائعة

سجّل في موقع webpagetest.org واطلب مفتاحًا من لوحة التحكم. تبدأ الباقات المدفوعة من 15 دولارًا شهريًا.

تقوم أدوات الذكاء الاصطناعي بتحليل JSON، وتلخيص بيانات الويب الأساسية، وتحديد حالات التراجع، والتوصية بإصلاحات الصور أو CSS أو JS.

نعم. يقوم برنامج Copilot بإنشاء Node و Python البرامج النصية التي ترسل الاختبارات، وتستطلع الحالة، وتحلل النتائج.

تلخيص هذه التدوينة بـ: