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

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

لماذا يجب عليك استخدام الأجهزة الافتراضية؟

تتمتع الأجهزة الافتراضية بالمزايا التالية عند مقارنتها بالأجهزة المادية:

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

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

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

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

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

  • في Android Studio: عند تطوير تطبيقك ، استخدم محاكي Android Studio أو جهازًا ماديًا متصلًا لفحص كل تصميم للتحقق الأولي. إذا كانت لديك اختبارات للأجهزة ، فيمكنك أيضًا تشغيل هذه الاختبارات من Android Studio على الأجهزة المادية أو الافتراضية التي يوفرها Test Lab.
  • استخدم Test Lab مع جهاز افتراضي عام متوسط ​​الدقة DPI (MDPI): يمكنك تشغيل اختبارات Robo واختبارات الأجهزة على تطبيقك بسرعة أكبر باستخدام الجهاز الظاهري العام للهاتف MDPI منخفض الدقة العام من Test Lab مقارنة بالأجهزة الافتراضية الأخرى. يتوفر الجهاز الظاهري MDPI على مستويات API 23 وما فوق. لاستخدام هذا الجهاز من واجهة سطر أوامر gcloud ، استخدم معرف طراز NexusLowRes .
  • استخدم أنظمة التكامل المستمر (CI) في كل تغيير رمز عند العمل في مشاريع مشتركة: إذا كنت تعمل في مشروع كبير ، أو إذا كنت تساهم في المشاريع التي تتم مشاركتها باستخدام GitHub أو مواقع مماثلة ، نوصيك باستخدام التكامل المستمر (CI) الأنظمة واختبر تطبيقاتك على الأجهزة الافتراضية في كل مرة يتم فيها تشغيل نظام CI ، أو قبل كل طلب سحب. لمعرفة المزيد حول استخدام Test Lab مع أنظمة CI ، راجع استخدام Test Lab لنظام Android مع أنظمة التكامل المستمر .
  • قبل إصدار تحديثات التطبيق المهمة: نوصي باستخدام Test Lab لاختبار تطبيقك على الأجهزة المادية قبل إصدار تحديثات التطبيق مع تغييرات كبيرة في واجهة المستخدم والوظائف. سيساعد هذا في ضمان تشغيل تطبيقك جيدًا على مجموعة واسعة من الأجهزة المادية الشائعة ، كما يضمن أيضًا تغطية اختبارية لأي وظيفة تطبيق تعتمد على ميزات الجهاز المادية التي لا يتم محاكاتها بواسطة الأجهزة الافتراضية. لمعرفة المزيد حول هذه الميزات ، راجع القيود المعروفة .

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

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

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

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

ملاحظة: يتم حاليًا تشغيل مقاطع الفيديو الخاصة باختبارات الأجهزة الافتراضية بمعدل إطار واحد في الثانية ، مما يجعلها أقل سلاسة من مقاطع الفيديو الخاصة باختبارات الأجهزة المادية.
برنامج OpenGL ES 3.x لا تتوفر مكتبات OpenGL ES 3.x وأعلى للرسومات على الأجهزة الافتراضية.
Camera HAL v3.0.1 (مفتوحة) لمعرفة المزيد حول Android Camera HAL v3.0 ، راجع نظرة عامة على Camera HAL v3 .
شبكة افتراضية خاصة (VPN) حاليًا ، استخدام VPN غير مدعوم على الأجهزة الافتراضية.