يصف هذا المستند تطبيقات الفيديو المباشر على الويب في 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" أو جهاز فعلي مرفق
عند تطوير تطبيقك، استخدِم محاكي "استوديو 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. |
وظيفة الواقع المعزّز | لا يمكن اختبار وظائف الواقع المعزّز على الأجهزة الافتراضية. |
مستويات واجهة برمجة التطبيقات القديمة | Test Lab لا تتوافق الأجهزة الافتراضية التي تعمل بمعالجات ARM مع مستويات واجهة برمجة التطبيقات التي تقل عن 26. |