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

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

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

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

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

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

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

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

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

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

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

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

gcloud firebase test android models list --filter=virtual

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

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

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

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

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

إذا كنت تعمل على مشروع كبير، أو إذا كنت تساهم في مشاريع تتم مشاركتها باستخدام 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 أو الأجهزة الفعلية بدلاً من ذلك.
واجهات برمجة التطبيقات الخاصة بالرسومات لا تتوافق الإصدارات 3.x من OpenGL ES مع الأجهزة التي تعمل بإصدار Android أقل من المستوى 29 لواجهة برمجة التطبيقات. لا تتوافق الأجهزة الأحدث بنسبة% 100 مع واجهات برمجة التطبيقات OpenGL/Vulkan، لذا قد تلاحظ اختلافات بسيطة في الرسومات.
تطبيق "متجر Google Play" تطبيق "متجر Google Play" غير متوافق مع الأجهزة الافتراضية التي تستخدم معمارية Arm.
وظيفة الواقع المعزّز (AR) اختبار وظيفة الواقع المعزّز (AR) غير متاح على الأجهزة الافتراضية.
مستويات واجهة برمجة التطبيقات القديمة لا تتوافق أجهزة Test Lab Arm الافتراضية مع مستويات واجهة برمجة التطبيقات الأقل من 26.

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