بدء الاختبار باستخدام أجهزة Android الافتراضية

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

Test Lab أجهزة Android الافتراضية التي تنتهي بـ ‎ .arm أو (Arm) هي محاكيات متقدّمة توفّر المزايا التالية:

  • وقت تنفيذ الاختبار أسرع

  • أحجام الشاشة وكثافتها متوافقة مع أجهزة Android الافتراضية في "استوديو Android" لضمان الاتساق

  • رسومات مسرَّعة متوافقة مع وحدة معالجة الرسومات

يوضّح الجدول التالي مزايا استخدام الأجهزة الافتراضية:

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

اختبار تطبيقك باستخدام الأجهزة الافتراضية

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

عرض النماذج وواجهات برمجة التطبيقات المتوافقة

لعرض نماذج أجهزة Android الافتراضية وواجهات برمجة التطبيقات المتوافقة مع Test Lab، نفِّذ الأمر التالي:

gcloud firebase test android models list --filter=virtual

أفضل الممارسات لاختبار تطبيقك

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

استخدام محاكي "استوديو Android" أو جهاز فعلي متصل

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

استخدام أنظمة التكامل المتواصل مع كل تغيير في الرمز البرمجي عند العمل على مشاريع مشتركة

إذا كنت تعمل على مشروع كبير، أو إذا كنت تساهم في مشاريع تتم مشاركتها باستخدام GitHub أو موقع إلكتروني مشابه، ننصحك باستخدام أنظمة التكامل المستمر (CI). اختبِر تطبيقاتك على الأجهزة الافتراضية في كل مرة يتم فيها تشغيل نظام التكامل المستمر أو قبل كل طلب سحب. لمزيد من المعلومات حول استخدام Test Lab مع أنظمة CI، يُرجى الاطّلاع على استخدام Test Lab لنظام التشغيل Android مع أنظمة التكامل المستمر.

اختبِر تطبيقك على أجهزة فعلية باستخدام Test Lab قبل طرح تحديثات مهمة للتطبيق

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

تحديثات الأجهزة الافتراضية

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

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

القيود المعروفة

لا تتم محاكاة بعض ميزات الأجهزة الفعلية حاليًا بواسطة الأجهزة الافتراضية، أو تتم محاكاتها مع بعض القيود. يلخص الجدول التالي الميزات غير المتوفرة حاليًا على الأجهزة الافتراضية، أو المتوفرة مع بعض القيود:

الميزة التفاصيل
واجهات التطبيقات الثنائية (ABI) لا تتوافق بعض الأجهزة مع بعض واجهات ABI. إذا كنت تطوّر تطبيقات باستخدام حزمة Android NDK، تأكَّد من إنشاء رمز لواجهات التطبيقات الثنائية (ABI) المتوافقة مع الأجهزة التي تستهدفها (راجِع الأجهزة المتاحة في Test Lab). ولمزيد من المعلومات حول إدارة واجهات التطبيقات الثنائية (ABI)، راجِع واجهات التطبيقات الثنائية (ABI) في Android.

ملاحظة: إذا تم وضع علامة "غير صالح" على اختبار في المصفوفة التجريبية، قد يكون ذلك بسبب اعتماد تطبيقك على رمز برمجي أصلي لا تتوافق معه واجهة ABI للجهاز.

أداء الرسومات تستخدم أجهزة Nexus وPixel الافتراضية عرض الرسومات من خلال البرامج. وقد ينخفض أداء التطبيقات التي تتطلّب معالجة رسومات مكثّفة. إذا كان تطبيقك يتطلّب معالجة رسومات مكثّفة، ننصحك باستخدام SmallPhone.arm أو MediumPhone.arm أو الأجهزة الفعلية بدلاً من ذلك.
واجهات برمجة تطبيقات الرسومات لا يتوافق الإصدار OpenGL ES 3.x مع الأجهزة التي تعمل بمستوى واجهة برمجة تطبيقات أقل من 29. الأجهزة الأحدث غير متوافقة بنسبة %100 مع واجهات برمجة التطبيقات OpenGL/Vulkan، وقد تلاحظ اختلافات بسيطة في الرسومات.
تطبيق "متجر Google Play" لا يتوافق تطبيق "متجر Google Play" مع الأجهزة الافتراضية التي تستخدم معالجات Arm.
وظائف الواقع المعزّز (AR) لا يمكن اختبار وظائف الواقع المعزّز (AR) على الأجهزة الافتراضية.
مستويات واجهة برمجة التطبيقات القديمة لا تتوافق أجهزة Arm الافتراضية التي يبلغ عددها Test Lab مع مستويات واجهة برمجة التطبيقات الأقل من 26.

الخطوات التالية