The Chromium Chronicle #17: مجموعات اختبار المتصفّح

الحلقة 17: من تأليف "توبي هوانغ" في سان فرانسيسكو، كاليفورنيا (كانون الثاني/يناير 2021)
الحلقات السابقة

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

أمثلة على مجموعة متنوعة مفيدة:

  • GuestUserMixin لاختبار وضع التصفُّح المتخفي
  • UserPolicyMixin بسبب محاكاة سياسة المستخدم في الخادم
  • FakeGaiaMixin بسبب محاكاة الردود من خادم Gaia

يمكنك إنشاء تشكيلة أغانٍ مخصّصة لتلبية مجموعة متنوعة من الأغراض.

يسجّل المقتطف أدناه الدخول كمستخدم ضيف للاختبار. من المهم التأكّد من عمل الميزة في وضع التصفّح المتخفي

الإجراءات الموصى بها
class MyGuestBrowserTestClass : public MixinBasedInProcessBrowserTest {
 private:
  GuestSessionMixin guest_session_mixin_{&mixin_host_};
};

"LoggedInUserMixin" هي طريقة سهلة لتسجيل الدخول كمستخدم في Family Link إلى اختبارك. إذا كانت الميزة تؤثر في أي شيء مرتبط بإشراف الطفل، عليك اختبار الميزة للمستخدمين تحت الإشراف. الخطأ المحتمل هو نسيان أنّ المستخدمين الأطفال قد أوقفوا وضع التصفّح المتخفي أو لا يمكنهم تثبيته. الإضافات بدون موافقة أحد الوالدَين. LoggedInUserMixin عبارة عن مزيج مركَّب تتألف من مزيج آخر.

الإجراءات الموصى بها
class MyChildBrowserTestClass : public MixinBasedInProcessBrowserTest {
 protected:
  void SetUpOnMainThread() override {
    MixinBasedInProcessBrowserTest::SetUpOnMainThread();
    logged_in_user_mixin_.LogInUser();
  }

 private:
  LoggedInUserMixin logged_in_user_mixin_{&mixin_host_,
                                          LoggedInUserMixin::LogInType::kChild,
                                          embedded_test_server(), this};
};

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

الموارد