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 اليدوية.