Chrome for Testing: عمليات تنزيل موثوقة لميزة التشغيل الآلي للمتصفّح

ماتياس بينينز
ماتياس بينينز

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

الخلفية

اختبار المتصفح هو أحد العناصر الحيوية لإنشاء تجربة ويب عالية الجودة، بغض النظر عما إذا تم إجراء ذلك يدويًا أو تلقائيًا. وفي الوقت نفسه، من المعروف أن إعداد بيئة اختبار ملائمة للمتصفِّح ليس بالأمر الهين، لدرجة أن يتم الإبلاغ عنه باستمرار كأكبر مشكلة لمطوّري برامج الويب. واليوم، نعلن عن تغيير نأمل أن يخفّف من هذه الآلام.

التحديث التلقائي: تجربة رائعة للمستخدمين وإزعاج للمطوّرين

إحدى أبرز ميزات Chrome هي إمكانية التحديث التلقائي. يسعد المستخدمون أن يعرفوا أنّهم يستخدمون إصدارًا حديثًا وآمنًا من المتصفّح، بما في ذلك ميزات Web Platform الحديثة وميزات المتصفّح وإصلاحات الأخطاء في جميع الأوقات.

ومع ذلك، بصفتك مطوّر برامج تُجري مجموعة من الاختبارات الشاملة، قد يكون لديك منظور مختلف تمامًا:

  • الرغبة في الحصول على نتائج متسقة قابلة لإعادة الإنتاج عبر عمليات الاختبار المتكررة، ولكن قد لا يحدث ذلك إذا قرر المتصفح القابل للتنفيذ أو البرنامج الثنائي تحديث نفسه بين عمليتَي تشغيل.
  • وتريد تثبيت إصدار متصفّح محدّد والتحقّق من رقم الإصدار هذا في مستودع رمز المصدر كي تتمكن من التحقق من الالتزامات والفروع القديمة وإعادة إجراء الاختبارات على البرنامج الثنائي للمتصفّح منذ ذلك الوقت.

لا يمكن تنفيذ أيٍّ من ذلك باستخدام البرنامج الثنائي للمتصفح الذي يتم تحديثه تلقائيًا. ونتيجة لذلك، قد لا تحتاج إلى استخدام التثبيت العادي لـ Chrome لإجراء الاختبار التلقائي. وهذا الاختلاف الأساسي بين ما هو مفيد لمستخدمي المتصفِّح العادي وما يناسب المطوِّرين الذين يُجرون اختبارات تلقائية.

البرامج الثنائية للمتصفِّح ذات الإصدارات

بصرف النظر عن التحديث التلقائي، قد تجد أيضًا صعوبة في العثور على برنامج Chrome الثنائي بإصدار معيّن. ولا تتيح Google عمدًا إمكانية تنزيل نُسخ من Chrome، بما أن المستخدمين لن يضطروا إلى الاهتمام بأرقام الإصدارات، إذ يجب دائمًا تحديثهم إلى أحدث إصدار في أقرب وقت ممكن. وهذا أمر رائع للمستخدمين، ولكنه يواجه إزعاجًا للمطوّرين الذين يحتاجون إلى إعادة إنتاج تقرير خطأ في إصدار قديم من Chrome.

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

نظرًا لعدم وجود طريقة جيدة لحل هذه المشاكل، نعلم أن العديد من مطوّري البرامج ينزِّلون برامج ثنائية لـ Chromium (وليس Chrome) بدلاً من ذلك، على الرغم من أن هذا الأسلوب ينطوي على بعض العيوب. أولاً، هذه البرامج الثنائية من Chromium غير متوفرة بشكل موثوق به عبر جميع الأنظمة الأساسية. ثانيًا، يتم إنشاؤها ونشرها بشكل منفصل عن عملية إصدار Chrome، ما يجعل من المستحيل ربط إصداراتها بإصدارات Chrome الحقيقية التي يراها المستخدمون. ثالثًا، يختلف Chromium عن Chrome.

الحل: Chrome for Testing

صُمِّم الإصدار Chrome for Testing لحل هذه المشاكل، وهو عبارة عن صيغة مخصَّصة من Chrome يستهدف حالة استخدام الاختبار، بدون التحديث التلقائي، كما يتم دمجه في عملية إصدار Chrome والذي تتم إتاحته لكل إصدار من إصدارات Chrome. إصدار ثنائي قريب من متصفِّح Chrome العادي قدر الإمكان بدون التأثير سلبًا في حالة استخدام الاختبار.

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

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

كيف يمكنني الحصول على البرامج الثنائية لأداة Chrome for Testing؟

تتمثل أسهل طريقة لتنزيل البرامج الثنائية لأداة Chrome for Testing على منصتك في استخدام أداة سطر الأوامر @puppeteer/browsers المتاحة عبر npm. وإليك بعض الأمثلة:

# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable

# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0

# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary

# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0

إذا كنت تفضل إنشاء نصوص برمجية تلقائية خاصة بك لتنزيل هذه البرامج الثنائية، فقد وفرنا لك ذلك. نوفّر نقاط نهاية JSON API مع أحدث الإصدارات المتاحة لكل قناة إصدار Chrome (الإصدار الثابت والتجريبي والتطويري وCanary). لإلقاء نظرة عامة سريعة على أحدث حالة، يمكنك الرجوع إلى لوحة بيانات مدى توفُّر Chrome for Testing.