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

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

Test Lab أجهزة AVD التي تحتوي على اللاحقة ‎ .arm أو (Arm) هي محاكيات advanced توفّر المزايا التالية:

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

  • أحجام الشاشة وكثافتها متطابقة مع أجهزة Android Virtual Device في Android Studio للحفاظ على الاتساق

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

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

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

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

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

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

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

gcloud firebase test android models list --filter=virtual

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

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

استخدام محاكي Android Studio أو جهاز فعلي مرفق

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

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

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

اختبار تطبيقك على الأجهزة الفعلية التي تعمل بنظام التشغيل Test Lab قبل إصدار تحديثات مهمة للتطبيق

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

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

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

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

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

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

الميزة التفاصيل
واجهات التطبيق الثنائية (ABI) لا تتوافق جميع الأجهزة مع جميع معرّفات ABI. إذا كنت تُطوّر باستخدام حِزم تطوير البرامج (NDK) لنظام التشغيل Android، احرص على إنشاء رمز لملف 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) على الأجهزة الافتراضية.
مستويات واجهة برمجة التطبيقات القديمة Test Lab لا تتوافق أجهزة جمع الأجهزة الافتراضية مع مستويات واجهة برمجة التطبيقات الأقل من 26.

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