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

يصف هذا المستند AVDs لمختبر الاختبار ، بما في ذلك الفوائد والقيود المعروفة. نقدم أيضًا توصيات حول كيفية اختبار تطبيقك طوال دورة حياة التطوير.

في حين أن Test Lab AVDs تشبه AVDs لنظام Android Studio ، إلا أن هناك بعض الاختلافات بين الاثنين. على سبيل المثال ، تحتوي أجهزة AVD في Test Lab على اتصال بيانات تمت محاكاته بدلاً من اتصال Wi-Fi.

اختبار مختبر AVDs مع لاحقة .arm أو (Arm) هي محاكيات متقدمة توفر الفوائد التالية:

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

  • تتماشى أحجام الشاشة وكثافتها مع أجهزة AVD الخاصة بـ Android Studio من أجل الاتساق

يوفر استخدام أجهزة AVD مع لاحقة .arm أو (Arm) المزايا التالية مقارنة بأنواع الأجهزة المادية الأخرى:

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

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

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

عرض النماذج المعتمدة وواجهات برمجة التطبيقات

لعرض نماذج AVD وواجهات برمجة التطبيقات التي يدعمها Test Lab ، قم بتشغيل الأمر التالي:

gcloud firebase test android models list --filter=virtual

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

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

استخدم محاكي Android Studio أو جهازًا ماديًا متصلًا

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

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

إذا كنت تعمل في مشروع كبير ، أو إذا كنت تساهم في مشاريع مشتركة باستخدام GitHub أو خدمة مماثلة ، فإننا نوصي باستخدام أنظمة التكامل المستمر (CI).

اختبر تطبيقاتك على الأجهزة الافتراضية في كل مرة يتم فيها تشغيل نظام CI ، أو قبل كل طلب سحب. لمعرفة المزيد حول استخدام Test Lab مع أنظمة CI ، راجع استخدام Test Lab لنظام Android مع أنظمة التكامل المستمر .

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

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

تحديثات الجهاز الظاهري

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

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

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

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

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

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

أداء الرسومات تستخدم أجهزة Nexus و Pixel الافتراضية عرض رسومات البرامج. ستواجه التطبيقات كثيفة الرسومات أداءً أقل. إذا كان تطبيقك يتطلب رسومات مكثفة ، فاستخدم نماذج SmallPhone.arm و MediumPhone.arm أو الأجهزة المادية بدلاً من ذلك.
تسجيل الشاشة يبلغ معدل تسجيل الشاشة على أجهزة Nexus و Pixel إطارًا واحدًا في الثانية.
واجهات برمجة تطبيقات الرسومات OpenGL ES 3.x غير مدعوم على الأجهزة التي تقل عن مستوى API 29. الأجهزة الأحدث ليست متوافقة بنسبة 100٪ مع واجهات برمجة تطبيقات OpenGL / Vulkan. قد تلاحظ اختلافات طفيفة في الرسومات.

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