التشغيل الآلي والاختبار باستخدام Chrome

يُعدّ اختبار المتصفّح المبرمَج ضروريًا لإنشاء تطبيقات ويب قوية وعالية الجودة. سواء كنت تستخدم مجموعات شاملة من عمليات الدمج المتواصل (CI)، أو تجري اختبارات الانحدار على إصدارات المتصفّح، أو تعمل على أتمتة تفاعلات المتصفّح، يوفّر Chrome مجموعة مخصّصة من الأدوات وأوضاع التنفيذ المصمّمة للمطوّرين ومهندسي أتمتة الاختبار.

تقدّم هذه النظرة العامة المنتجات الأساسية في نظام التشغيل الآلي والاختبار في Chrome، وهي Chrome for Testing وChromeDriver وPuppeteer ووضع Chrome بلا واجهة مستخدم رسومية، وتشرح كيفية استخدامها معًا للحصول على مهام سير عمل اختبار موثوقة وقابلة للتكرار.


Chrome for Testing

Chrome for Testing هو إصدار مخصّص من Chrome يستهدف حالات استخدام اختبار تطبيقات الويب والتشغيل الآلي.

عند تشغيل مجموعات اختبار شاملة أو عمليات دمج مستمر (CI)، غالبًا ما تحتاج إلى نتائج متسقة وقابلة للتكرار في عمليات الاختبار المتكررة. بدلاً من الاعتماد على عمليات تثبيت المتصفّح العادية، يتيح لك Chrome for Testing تنزيل إصدارات محدّدة من Chrome وتثبيتها في بيئات الاختبار.

الميزات الرئيسية

  • عمليات تنزيل الإصدارات عند الطلب: يمكنك الوصول إلى ملفات Chrome الثنائية المحدّدة الإصدارات، ما يتيح لك إجراء الاختبارات دائمًا على الإصدار الذي تختاره.
  • ملفات ثنائية متوافقة على مستوى القنوات: لكل إصدار من Chrome على جميع القنوات (الإصدار الثابت والإصدار التجريبي وإصدار المطوّرين وإصدار Canary)، يوفّر Chrome for Testing ملفات Chrome الثنائية المتوافقة مع ملفات ChromeDriver الثنائية ذات الصلة، بالإضافة إلى الإصدار القديم من Chrome Headless shell (chrome-headless-shell) للمستخدمين الذين ما زالوا يستخدمونه في الاختبارات الآلية.
  • التشغيل الآلي السهل للتنزيل: يمكن تنزيل البرامج الثنائية بسهولة باستخدام برنامج خدمات سطر الأوامر @puppeteer/browsers أو الاستعلام عنها من خلال لوحة بيانات التوفّر.

مزيد من المعلومات


ChromeDriver

ChromeDriver هو خادم مستقل مفتوح المصدر ينفّذ معيار W3C WebDriver وبروتوكول WebDriver BiDi الثنائي الاتجاه. يعمل كجسر بين أُطر اختبار مستندة إلى WebDriver (مثل Selenium وWebDriverIO وNightwatch) ومتصفّح Chrome.

الميزات الرئيسية

  • التوافق مع W3C WebDriver وWebDriver BiDi: يتوافق مع أوامر التشغيل الآلي الكلاسيكية في WebDriver والاتصال الثنائي الاتجاه في الوقت الفعلي من خلال WebDriver BiDi للاستماع السريع إلى الأحداث ومراقبة الشبكة واعتراض السجلّات.
  • الإصدارات المتزامنة مع Chrome for Testing: يتم دمج إصدارات ChromeDriver مباشرةً في البنية الأساسية لبرنامج Chrome for Testing. مع كل إصدار من Chrome for Testing، يتم إصدار إصدار متوافق من ChromeDriver في الوقت نفسه، ما يجنّبك مشاكل عدم التوافق بين الإصدارات.

مزيد من المعلومات


محرك العرائس

Puppeteer هي مكتبة JavaScript طوّرتها Google وتوفّر واجهة برمجة تطبيقات عالية المستوى للتحكّم في Chrome من خلال بروتوكول أدوات مطوّري البرامج في Chrome (CDP) أو WebDriver BiDi.

الميزات الرئيسية

  • التشغيل الآلي بدون إعداد: يتيح Puppeteer التشغيل الآلي للمتصفّح بدون الحاجة إلى إعداد، وذلك من خلال تنزيل برنامج ثنائي متوافق من Chrome for Testing تلقائيًا.
  • التحكّم الكامل في Chrome: يمكنك بسهولة التقاط لقطات شاشة وإنشاء ملفات PDF وأتمتة عمليات إرسال النماذج واعتراض طلبات الشبكة وتنفيذ اختبارات واجهة المستخدم في الوضع العادي أو وضع التشغيل بدون واجهة مستخدم.

مزيد من المعلومات


وضع "Chrome بلا واجهة مستخدم رسومية"

يتيح لك وضع Chrome Headless تشغيل Chrome في بيئة غير مراقَبة بدون أي واجهة مستخدم مرئية. من خلال تمرير العلامة --headless على سطر الأوامر، يتم تشغيل Chrome بشكل سليم في بيئات الخادم والحاويات وعمليات CI/CD.

الميزات الرئيسية

  • محرك متصفح موحّد: يستخدم وضع Headless الحديث (--headless) تنفيذ المتصفح نفسه تمامًا كما هو الحال في Chrome العادي.
  • إمكانات متقدّمة لأتمتة العمليات وتصحيح الأخطاء: تتيح هذه الميزة التقاط لقطات شاشة وإنشاء ملفات PDF وتصحيح الأخطاء عن بُعد وإعداد شاشة افتراضية.

مزيد من المعلومات


مثال: استخدام هذه المنتجات معًا

في سير عمل نموذجي للاختبار الآلي أو الدمج المتواصل (CI)، تعمل هذه المنتجات معًا لتوفير بيئة اختبار قابلة للتكرار وغير مراقَبة:

  1. ملف تنفيذي للمتصفّح (Chrome for Testing): استخدِم ملفًا تنفيذيًا محدّدًا من Chrome for Testing مرتبطًا بإصدار معيّن لضمان أن تكون نتائج الاختبارات ثابتة في جميع عمليات التشغيل.
  2. وضع التنفيذ (وضع Chrome بلا واجهة مستخدم رسومية): شغِّل هذا البرنامج الثنائي في وضع بلا واجهة مستخدم رسومية (--headless) لكي يتم تنفيذ الاختبارات بشكل سليم في الخوادم أو الحاويات أو مسارات التكامل المستمر بدون عرض رسومي.
  3. برنامج التشغيل الآلي (Puppeteer أو ChromeDriver): يمكنك تشغيل المتصفّح باستخدام مكتبة التشغيل الآلي مثل Puppeteer أو أي إطار عمل آخر للاختبار متصل من خلال WebDriver BiDi.

يربط Puppeteer هذه الأجزاء تلقائيًا. عند تثبيته، يتم تنزيل برنامج ثنائي متوافق من Chrome for Testing وتشغيله في وضع بلا واجهة مستخدم رسومية تلقائيًا.

عند استخدام أُطر عمل W3C WebDriver (مثل Selenium أو WebdriverIO)، يمكنك تنزيل زوج متوافق من ثنائيَي Chrome for Testing وChromeDriver تلقائيًا وتمرير العلامة --headless لتشغيل المتصفّح بدون واجهة مستخدم.


إرشادات حول قنوات الإصدار وEnterprise