الحلقة 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
، ولكن لحسن الحظ أن
الأساسية هي للأغراض العامة وخفيفة الوزن.