يوضّح هذا المستند أجهزة Android الافتراضية (AVD) لإصدار Test Lab، بما في ذلك المزايا والقيود المعروفة. نقدّم أيضًا اقتراحات حول كيفية اختبار تطبيقك طوال دورة حياة التطوير. Test Lab تتشابه الأجهزة الافتراضية لنظام التشغيل Android مع الأجهزة الافتراضية لنظام التشغيل Android في "استوديو Android"، ولكن تم تحسينها لتعزيز الأداء عند إجراء الاختبار على السحابة الإلكترونية، لذا هناك بعض الاختلافات بينهما.
Test Lab أجهزة AVD التي تتضمّن اللاحقة .arm أو (Arm) هي محاكيات متقدّمة توفّر المزايا التالية:
وقت أسرع لتنفيذ الاختبار
أحجام الشاشة وكثافتها متوافقة مع الأجهزة الافتراضية في 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" أو جهاز فعلي متصل
عند تطوير تطبيقك، استخدِم محاكي "استوديو Android" أو جهازًا فعليًا متصلاً لفحص كل إصدار من أجل التحقّق الأولي. إذا كانت لديك اختبارات أدوات، يمكنك أيضًا تشغيل هذه الاختبارات من Android Studio على أجهزة فعلية أو افتراضية توفّرها Test Lab.
استخدام أنظمة التكامل المستمر (CI) في كل تغيير في الرمز عند العمل على مشاريع مشتركة
إذا كنت تعمل على مشروع كبير، أو إذا كنت تساهم في مشاريع تتم مشاركتها باستخدام GitHub أو موقع إلكتروني مشابه، ننصحك باستخدام أنظمة الدمج المتواصل (CI). اختبِر تطبيقاتك على أجهزة افتراضية في كل مرة يتم فيها تشغيل نظام الدمج المتواصل، أو قبل كل طلب سحب. لمزيد من المعلومات حول استخدام Test Lab مع أنظمة الدمج المتواصل، يُرجى الاطّلاع على استخدام Test Lab لنظام التشغيل Android مع أنظمة الدمج المتواصل.
اختبار تطبيقك على أجهزة فعلية باستخدام Test Lab قبل إصدار تحديثات مهمة للتطبيق
قبل إصدار تحديثات للتطبيق تتضمّن تغييرات كبيرة في واجهة المستخدم والوظائف، ننصحك باستخدام Test Lab لاختبار تطبيقك على الأجهزة الفعلية. سيساعد ذلك في ضمان ثبات تطبيقك وأدائه الجيّد على مجموعة كبيرة من الأجهزة المادية الشائعة. يضمن الاختبار على الأجهزة الفعلية أيضًا تغطية الاختبار لأي وظيفة في التطبيق تعتمد على ميزات الجهاز الفعلية التي لا تحاكيها الأجهزة الافتراضية. للاطّلاع على مزيد من المعلومات حول هذه الميزات، يُرجى الانتقال إلى القيود المعروفة.
تحديثات الجهاز الافتراضي
يضيف فريق Android بشكل دوري صورًا جديدة للأجهزة الافتراضية، ويوقف نهائيًا الصور القديمة، ويعدّل الصور الحالية. نطبّق هذه التحديثات على صور الأجهزة الافتراضية للمساعدة في ضمان إجراء الاختبارات على أحدث إصدارات Android التي تعكس تجارب المستخدمين.
في حالات نادرة، قد تتسبّب هذه التحديثات في تعذُّر اجتياز الاختبارات بشكل غير متوقّع. عندما يكون هناك تحديث معروف يُحتمل أن يؤدي إلى حدوث مشاكل، ستتضمّن Test Lab معلومات في ملاحظات الإصدار. ننصحك في إطار أفضل الممارسات باستخدام أُطر الاختبار، مثل Espresso، التي تتوافق مع هذه التغييرات كلما أمكن ذلك. وفي حال تعذّر ذلك، ننصحك باستهداف الأجهزة الافتراضية التي تعمل بنظام التشغيل Arm، والتي من المتوقّع أن يتم تحديثها بشكل أقل تكرارًا.
القيود المعروفة
لا تحاكي الأجهزة الافتراضية حاليًا بعض ميزات الأجهزة الفعلية، أو تحاكيها مع بعض القيود. يلخّص الجدول التالي الميزات غير المتوفّرة حاليًا على الأجهزة الافتراضية أو الميزات المتوفّرة مع بعض القيود:
الميزة | التفاصيل |
واجهات التطبيق الثنائية (ABI) | لا تتوافق بعض الأجهزة مع جميع واجهات ABI. إذا كنت تستخدم حزمة تطوير البرامج الأصلية (NDK) لنظام Android، احرص على إنشاء رمز لواجهات التطبيق الثنائية (ABI) المتوافقة مع الأجهزة التي تستهدفها (راجِع الأجهزة المتاحة في Test Lab). ولمزيد من المعلومات حول إدارة واجهات التطبيق الثنائية، راجِع واجهات التطبيق الثنائية لنظام Android.
ملاحظة: إذا تم وضع علامة "غير صالح" على اختبار في مصفوفة الاختبار، قد يحدث ذلك لأنّ تطبيقك يعتمد على رمز برمجي أصلي غير متوافق مع واجهة التطبيق الثنائية (ABI) للجهاز. |
أداء الرسومات | تستخدم أجهزة Nexus وPixel الافتراضية عرض الرسومات بالبرامج. قد ينخفض أداء التطبيقات التي تتطلّب رسومات كثيرة. إذا كان تطبيقك يتطلّب رسومات مكثّفة، ننصحك باستخدام SmallPhone.arm أو MediumPhone.arm أو الأجهزة الفعلية بدلاً من ذلك. |
واجهات برمجة تطبيقات الرسومات | لا يتوافق الإصدار 3.x من OpenGL ES مع الأجهزة التي تعمل بمستوى واجهة برمجة تطبيقات أقل من 29. لا تتوافق الأجهزة الحديثة بنسبة% 100 مع واجهات برمجة التطبيقات OpenGL/Vulkan، لذا قد تلاحظ اختلافات بسيطة في الرسومات. |
تطبيق "متجر Google Play" | لا يتوافق تطبيق "متجر Google Play" مع الأجهزة الافتراضية التي تستخدم معمارية Arm. |
وظيفة "الواقع المعزّز" | لا يمكن اختبار وظيفة "الواقع المعزّز" على الأجهزة الافتراضية. |
مستويات واجهات برمجة التطبيقات القديمة | لا تتوافق أجهزة Test Lab Arm الافتراضية مع مستويات واجهة برمجة التطبيقات الأقل من 26. |
الخطوات التالية
- انقر على تحليل Firebase Test Lab النتائج.