بدء اختبار تطبيقات Android باستخدام مركز الاختبار الافتراضي لمنصة Firebase

تتيح لك خدمة Firebase Test Lab اختبار تطبيقك على مجموعة متنوّعة من الأجهزة و الإعدادات. يقدّم دليل "البدء" هذا مسارًا لتنفيذ الاختبار لك لتتبعه، بالإضافة إلى مقدّمة عن عروض Test Lab على Android.

للاطّلاع على معلومات عن حصص Test Lab وخطط التسعير، يُرجى الانتقال إلى صفحة الاستخدام والحصص والأسعار.

المفاهيم الرئيسيّة

عند إجراء اختبار أو مجموعة من حالات الاختبار على الأجهزة والإعدادات التي اخترتها، يُجري Test Lab الاختبار على تطبيقك على شكل دفعة، ثم يعرض النتائج في مصفوفة اختبار.

الأجهزة × عمليات تنفيذ الاختبار = مصفوفة الاختبار

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

الخطوة 1: إعداد اختبارك لتحميله إلى Test Lab

أنواع الاختبارات المتاحة

يمكنك إجراء الاختبارات التالية باستخدام Test Lab. يُرجى العِلم أنّ جميع أنواع الاختبارات تقتصر على 45 دقيقة على الأجهزة الفعلية و60 دقيقة على الأجهزة الافتراضية. سيؤدي أي استثناء غير معالج إلى تعذّر الاختبار.

  • اختبار لقياس حالة التطبيق أو اختبار الوحدة المزوَّد بأجهزة: هو اختبار كتبته باستخدام إطارَي عمل Espresso أو UI Automator. باستخدام هذا الاختبار، يمكنك تقديم تأكيدات صريحة بشأن حالة تطبيقك للتحقّق من الوظائف الصحيحة باستخدام AndroidJUnitRunnerAPIs.

  • اختبار Robo: هو اختبار آلي يحلّل واجهة مستخدم تطبيقك ثم يستكشفها بشكل منهجي من خلال محاكاة أنشطة المستخدم، بدون الحاجة إلى كتابة أي رمز. يُرجى الانتقال إلى صفحة لمحة عن اختبارات Robo لمزيد من المعلومات.

  • اختبار حلقة الألعاب: هو اختبار يستخدم "وضعًا تجريبيًا" لـ محاكاة إجراءات اللاعب في تطبيقات الألعاب. هذه طريقة سريعة وقابلة للتوسّع للتحقّق من أنّ لعبتك تعمل بشكل جيد للمستخدمين. عند اختيار إجراء اختبار حلقة الألعاب، يمكنك:

    • كتابة اختبارات خاصة بمحرّك الألعاب

    • تجنُّب كتابة الرمز نفسه لواجهات مستخدم أو أطر اختبار مختلفة

    • إنشاء حلقات متعدّدة بشكل اختياري لإجرائها في عملية تنفيذ اختبار واحدة (يُرجى الانتقال إلى صفحة لمحة عن اختبارات حلقة الألعاب لمزيد من المعلومات). يمكنك أيضًا تنظيم الحلقات باستخدام التصنيفات لتتبُّعها وإعادة إجراء حلقات محدّدة.

    يُرجى الانتقال إلى صفحة إجراء اختبار حلقة الألعاب للاطّلاع على تعليمات حول إجراء هذا الاختبار باستخدام Test Lab.

أدوات لإجراء اختبارك

يمكنك اختيار الأدوات التالية لإجراء اختبارك:

يمكنك أيضًا اختبار تطبيقك بدون أي تكلفة باستخدام Test Lab عند تحميل ملفات APK الخاصة بتطبيقك ونشرها على "متجر Play" باستخدام قناة ألفا أو قناة الإصدار التجريبي. لمزيد من المعلومات، يُرجى الانتقال إلى صفحة استخدام تقارير الإطلاق التجريبي لتحديد المشاكل واختبارات Robo.

الخطوة 2: اختيار جهاز الاختبار

Test Lab يتيح إجراء الاختبار على عدة أنواع وطُرز من أجهزة Android المثبَّتة والجارية في مركز بيانات Google. يساعدك إجراء الاختبار على الأجهزة في Test Lab في رصد المشاكل التي قد لا تحدث عند اختبار تطبيقك باستخدام المحاكيات في "استوديو Android". لمزيد من المعلومات، يُرجى الانتقال إلى صفحة الأجهزة المتاحة.

الخطوة 3: مراجعة نتائج الاختبار

بغض النظر عن طريقة بدء الاختبارات، يدير Test Lab جميع نتائج الاختبارات ويمكنك الاطّلاع عليها على الإنترنت.

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

تحتوي نتائج الاختبار الأولية على سجلّات الاختبار وتفاصيل تعذّر التطبيق، ويتم تخزينها تلقائيًا في حزمة Google Cloud. إذا حدّدت حزمة، ستكون مسؤولاً عن تكلفة التخزين. إذا لم تحدّد حزمة، Test Lab ينشئ لك حزمة بدون أي تكلفة.

لمزيد من التفاصيل، يُرجى الانتقال إلى صفحة تحليل نتائج Firebase Test Lab.

عند بدء اختبار من استوديو Android، يمكنك أيضًا مراجعة نتائج الاختبار من داخل بيئة التطوير.

تنظيف الجهاز

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

بالنسبة إلى الأجهزة الافتراضية التي يستخدمها Test Lab، يتم حذف مثيلات الأجهزة بعد استخدامها حتى تستخدم كل عملية تنفيذ اختبار مثيلاً جديدًا لجهاز افتراضي.


Test Lab و"خدمات Google Play"

تعمل أجهزة Test Lab عادةً على أحدث إصدار من حزمة تطوير البرامج (SDK) لخدمات Google Play ، ولكن قد يستغرق تحديث بعضها بضعة أيام بعد طرح إصدار جديد من حزمة SDK. يُرجى العِلم أنّه قد تواجه مشاكل في التوافق مع بعض الأجهزة.

السماح لأجهزة الاختبار بالوصول إلى خوادم الخلفية الخاصة

تحتاج بعض تطبيقات الأجهزة الجوّالة إلى التواصل مع خدمات الخلفية الخاصة لكي تعمل بشكل صحيح أثناء الاختبار. إذا كانت خوادم الخلفية محمية بقواعد جدار الحماية ، يمكنك السماح بالوصول إلى الأجهزة الفعلية والافتراضية في Test Lab's باستخدام مجموعات عناوين IP أدناه لفتح المسارات من خلال جدار الحماية.

إعلانات الأجهزة الجوّالة

Test Lab توفّر بنية تحتية قابلة للتوسّع تعمل على أتمتة اختبار التطبيقات، و لسوء الحظ، يمكن أن تسيء التطبيقات الضارة المصمّمة لتحقيق إيرادات الإعلانات الاحتيالية استخدام هذه الإمكانية.

للتخفيف من هذه المشكلة:

  • إذا كنت تستخدم أو تعمل مع مزوّدي إعلانات رقمية خارجيين (مثل شبكات الإعلانات أو منصّات عرض الطلب)، ننصحك باستخدام الإعلانات الاختبارية بدلاً من الإعلانات الحقيقية أثناء تطوير التطبيق واختباره.

  • إذا كان عليك استخدام إعلانات حقيقية في اختبارك، عليك إبلاغ مزوّدي الإعلانات الرقمية الذين تتعامل معهم بفلترة الإيرادات وجميع الزيارات المقابلة التي يتم إنشاؤها من Test Lab باستخدام مجموعات عناوين IP أدناه. لا تحتاج إلى إبلاغ مزوّدي الإعلانات المملوكين لشركة Google، لأنّ Test Lab يتولّى ذلك نيابةً عنك.

عناوين IP التي تستخدمها أجهزة Test Lab

تنشأ جميع حركة بيانات الشبكة التي تنشئها أجهزة Test Lab من مجموعات عناوين IP التالية . يمكنك أيضًا الوصول إلى هذه القائمة باستخدام الأمر gcloud beta firebase test ip-blocks list في واجهة سطر الأوامر gcloud. يتم تعديل القائمة مرة واحدة في السنة في المتوسط.

نوع المنصة والجهاز مجموعة عناوين IP بتنسيق CIDR
أجهزة Android وiOS الفعلية، والأجهزة الافتراضية التي تستخدم بنية Arm

‎70.32.128.0/19 (تمت إضافتها في فبراير 2022)

108.177.6.0/23

‎108.177.18.192/26 (تمت إضافتها في فبراير 2022)

‎108.177.29.64/27 (تم توسيعها في فبراير 2022)

‎108.177.31.160/27 (تمت إضافتها في فبراير 2022)

‎199.36.156.8/29 (تمت إضافتها في فبراير 2022)

‎199.36.156.16/28 (تمت إضافتها في فبراير 2022)

‎209.85.131.0/27 (تمت إضافتها في فبراير 2022)

‎2001:4860:1008::/48 (تمت إضافتها في فبراير 2022)

‎2001:4860:1018::/48 (تمت إضافتها في فبراير 2022)

‎2001:4860:1019::/48 (تمت إضافتها في فبراير 2022)

‎2001:4860:1020::/48 (تمت إضافتها في فبراير 2022)

‎2001:4860:1022::/48 (تمت إضافتها في فبراير 2022)

‎2001:4860:101d::/48 (تمت إضافتها في أكتوبر 2025)

‎2001:4860:101e::/48 (تمت إضافتها في أكتوبر 2025)

‎2001:4860:1031::/48 (تمت إضافتها في أكتوبر 2025)

‎70.32.128.48/28 (تمت إضافتها في أبريل 2024)

‎70.32.150.192/27 (تمت إضافتها في سبتمبر 2025)

‎108.177.6.0/27 (تمت إضافتها في سبتمبر 2025)

‎108.177.24.160/27 (تمت إضافتها في سبتمبر 2025)

‎108.177.29.0/27 (تمت إضافتها في سبتمبر 2025)

أجهزة Android الافتراضية (غير Arm)

‎34.68.194.64/29 (تمت إضافتها في نوفمبر 2019)

‎34.69.234.64/29 (تمت إضافتها في نوفمبر 2019)

‎34.73.34.72/29 (تمت إضافتها في نوفمبر 2019)

‎34.73.178.72/29 (تمت إضافتها في نوفمبر 2019)

‎34.74.10.72/29 (تمت إضافتها في فبراير 2022)

‎34.136.2.136/29 (تمت إضافتها في فبراير 2022)

‎34.136.50.136/29 (تمت إضافتها في فبراير 2022)

‎34.145.234.144/29 (تمت إضافتها في فبراير 2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

‎35.243.2.0/27 (تمت إضافتها في يوليو 2019)

‎35.245.243.240/29 (تمت إضافتها في فبراير 2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

لم تعُد مجموعات عناوين IP للأجهزة قيد الاستخدام

‎74.125.122.32/29 (تمت إزالتها في فبراير 2022)

‎216.239.44.24/29 (تمت إزالتها في فبراير 2022)