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

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

الخلفية

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

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

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

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

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

لا يمكن تنفيذ أي من ذلك باستخدام البرنامج الثنائي للمتصفّح الذي يتم تحديثه تلقائيًا. ونتيجة لذلك، قد لا تحتاج إلى استخدام التثبيت العادي لـ 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 مع أحدث الإصدارات المتاحة لكل قناة من قنوات إصدار Chrome (الثابتة والتجريبية والتطويرية وCanary). لإلقاء نظرة عامة سريعة على أحدث حالة، يمكنك الرجوع إلى لوحة بيانات مدى توفّر Chrome for Testing.