الاختبار في "استوديو Android"

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

الشكل 1. تعرض Android Studio نظرة عامة على نتائج الاختبار.

تتناول هذه الصفحة كيفية إدارة الاختبارات في "استوديو Android". للتعرّف على كيفية كتابة اختبارات Android مبرمَجة، يُرجى الاطّلاع على اختبار التطبيقات على Android.

أنواع الاختبارات ومواقعها الجغرافية

يعتمد موقع اختباراتك على نوع الاختبار الذي تكتبه. تحتوي مشاريع Android على أدلة تلقائية لرموز المصدر خاصة باختبارات الوحدات المحلية والاختبارات المبرمَجة.

تتوفّر اختبارات الوحدات المحلية في module-name/src/test/java/. وهي اختبارات يتم تشغيلها على آلة Java الافتراضية (JVM) المحلية على جهازك. استخدِم هذه الاختبارات لتقليل وقت التنفيذ عندما لا تتضمّن اختباراتك أي تبعيات على إطار عمل Android أو عندما يمكنك إنشاء عناصر اختبارية بديلة لتبعيات إطار عمل Android. لمزيد من المعلومات حول كيفية كتابة اختبارات الوحدات المحلية، يُرجى الاطّلاع على إنشاء اختبارات الوحدات المحلية.

تتوفّر الاختبارات المزوّدة بأدوات في $module-name/src/androidTest/java/. يتم تشغيل هذه الاختبارات على جهاز أو محاكي. يمكنهم الوصول إلى واجهات برمجة التطبيقات Instrumentation التي تتيح لك الوصول إلى معلومات، مثل فئة Context، في التطبيق الذي تختبره، كما تتيح لك التحكّم في التطبيق قيد الاختبار من خلال رمز الاختبار. يتم إنشاء الاختبارات المزوّدة بأدوات في حِزمة APK منفصلة، لذا يكون لها ملف AndroidManifest.xml خاص بها. يتم إنشاء هذا الملف تلقائيًا، ولكن يمكنك إنشاء نسختك الخاصة في $module-name/src/androidTest/AndroidManifest.xml، وسيتم دمجها مع ملف البيان الذي تم إنشاؤه. استخدِم الاختبارات المزوّدة بأدوات القياس عند كتابة اختبارات تكامل واختبارات وظيفية لواجهة المستخدم بهدف تنفيذ تفاعل المستخدم آليًا، أو عندما تتضمّن اختباراتك عناصر تابعة لنظام Android لا يمكنك إنشاء بدائل للاختبار لها. لمزيد من المعلومات حول كيفية كتابة الاختبارات المزوّدة بأدوات، راجِع مقالتَي إنشاء اختبارات مزوّدة بأدوات وأتمتة اختبارات واجهة المستخدم.

يمكنك وضع اختباراتك في أدلة خاصة بمتغيرات الإصدار لاختبار متغيرات إصدار معيّنة فقط. على سبيل المثال، يمكنك وضع بعض اختبارات الوحدات المحلية في $module-name/src/testMyFlavor/java/ حتى تستهدف الاختبارات تطبيقك الذي تم إنشاؤه باستخدام الرمز المصدر لهذا الإصدار. لمزيد من المعلومات حول كيفية إنشاء هذه الاختبارات المخصّصة، راجِع مقالة إنشاء اختبار مزوَّد بأدوات لمتغيّر إصدار.

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

الشكل 2. تظهر (1) الاختبارات المزوّدة بأدوات في مشروعك و(2) اختبارات JVM المحلية إما في طريقة العرض المشروع (على اليمين) أو طريقة العرض Android (على اليسار).

إنشاء اختبارات جديدة

يمكنك إضافة اختبار جديد لفئة أو طريقة معيّنة مباشرةً من رمز المصدر باتّباع الخطوات التالية:

  1. افتح ملف المصدر الذي يحتوي على الرمز الذي تريد اختباره.
  2. ضَع المؤشر في اسم الفئة أو الطريقة التي تريد اختبارها، ثم اضغط على Control+Shift+T (Command+Shift+T على نظام التشغيل macOS).
  3. في النافذة المنبثقة التي تظهر، انقر على إنشاء اختبار جديد…
  4. في مربّع الحوار إنشاء اختبار (Create Test)، اختَر JUnit4، وعدِّل الحقول والطُرق التي تريد إنشاؤها، ثم انقر على حسنًا (OK).
  5. في مربّع الحوار اختيار دليل الوجهة، انقر على مجموعة المصادر المناسبة لنوع الاختبار الذي تريد إنشاؤه: androidTest لإجراء اختبار مزوّد بأدوات أو test لإجراء اختبار وحدة محلية. بعد ذلك، انقر على حسنًا.

يمكنك بدلاً من ذلك إنشاء ملف اختبار عام في مجموعة مصادر الاختبار المناسبة على النحو التالي:

  1. في نافذة المشروع على اليمين، انقر على القائمة المنسدلة واختَر عرض Android.
  2. انقر بزر الماوس الأيمن على دليل java واختَر New (جديد) > Java Class (فئة Java) أو New (جديد) > Kotlin Class/File (فئة/ملف Kotlin). بدلاً من ذلك، يمكنك اختيار دليل java واستخدام الاختصار Control+N (Command+N على نظام التشغيل macOS).
  3. في مربّع الحوار اختيار دليل الوجهة، انقر على مجموعة المصادر المناسبة لنوع الاختبار الذي تريد إنشاؤه: androidTest لإجراء اختبار مزوّد بأدوات أو test لإجراء اختبار وحدة محلية. بعد ذلك، انقر على حسنًا.
  4. أدخِل اسمًا للملف، ثمّ انقر على موافق.

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

إجراء الاختبارات

قبل إجراء أي اختبارات، تأكَّد من مزامنة مشروعك بالكامل مع Gradle من خلال النقر على مزامنة المشروع في شريط الأدوات. يمكنك إجراء اختبارات بمستويات تفصيل مختلفة:

  • لتشغيل جميع الاختبارات في دليل أو ملف، افتح نافذة "المشروع" (Project) ونفِّذ أحد الإجراءَين التاليَين:

    • انقر بزر الماوس الأيمن على دليل أو ملف، ثم انقر على تشغيل .
    • اختَر الدليل أو الملف واستخدِم الاختصار Control+Shift+R.
  • لتشغيل جميع الاختبارات في فئة أو طريقة معيّنة، افتح ملف الاختبار في "محرّر الرموز" ونفِّذ أحد الإجراءَين التاليَين:

    • انقر على رمز تشغيل الاختبار في المسار الجانبي.
    • انقر بزر الماوس الأيمن على فئة الاختبار أو طريقة الاختبار، ثم انقر على تشغيل .
    • اختَر فئة الاختبار أو الطريقة واستخدِم الاختصار Control+Shift+R.

سيتم تشغيل الاختبارات المزوّدة بأدوات على جهاز فعلي أو محاكي. لمزيد من المعلومات حول إعداد الأجهزة الفعلية، اطّلِع على تشغيل التطبيقات على جهاز. لمزيد من المعلومات حول إعداد المحاكيات، اطّلِع على تشغيل التطبيقات على "محاكي Android".

ضبط عملية الاختبار

يتم تشغيل اختباراتك تلقائيًا باستخدام إعدادات التشغيل التلقائية في "استوديو Android". إذا كنت بحاجة إلى تغيير بعض إعدادات التشغيل، مثل أداة تشغيل الاختبارات الآلية وخيارات النشر، يمكنك تعديل إعدادات التشغيل في مربّع الحوار إعدادات التشغيل/تصحيح الأخطاء (انقر على تشغيل > تعديل الإعدادات).

أداة تشغيل الاختبارات الموحّدة في Gradle

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

الشكل 3. أداة تشغيل الاختبارات الموحّدة في Gradle

تستخدم الإصدارات السابقة من "استوديو Android" مشغّل اختبارات Android المزوّدة بأدوات IntelliJ بدلاً من مشغّل اختبارات Android المزوّدة بأدوات Gradle. لذلك، إذا لم تكن تستخدم أحدث إصدار من Android Studio، قد تظهر لك نتائج اختبار مختلفة، مثل اجتياز الاختبارات باستخدام مشغّل وتعذُّر اجتيازها باستخدام مشغّل آخر، وذلك حسب ما إذا كنت تجري الاختبارات من Android Studio أو من سطر الأوامر باستخدام مكوّن Gradle الإضافي.

الشكل 4 مشغّلات اختبار منفصلة في الإصدارات القديمة من "استوديو Android"

إذا كانت لديك إعدادات اختبار مزوَّد بأدوات محفوظة في مشروعك، سيتم استخدام Gradle لتشغيل الاختبارات على جهازك المتصل. يمكنك إنشاء إعداد جديد لاختبار مزوَّد بأدوات باستخدام إجراء "الهامش" بجانب فئة الاختبار أو الطريقة، كما هو موضّح أدناه.

الشكل 5. تنفيذ الاختبارات من إجراءات الهامش

عند تنفيذ اختبارات قياس الأداء، يمكنك التأكّد من أنّ "استوديو Android" يستخدم أداة تنفيذ الاختبارات في Gradle من خلال فحص نتائج الاختبار في "مصفوفة الاختبار" بحثًا عن نتائج مهمة Gradle.

التشغيل على أجهزة متعددة بالتوازي

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

  1. قبل تشغيل اختباراتك، افتح قائمة القائمة المنسدلة للجهاز المستهدَف، ثم اختَر اختيار أجهزة متعددة….

    الشكل 6. انقر على القائمة المنسدلة "أجهزة متعددة".

  2. اختَر الأجهزة المطلوبة وانقر على حسنًا.

  3. تأكَّد من تغيير النص في القائمة المنسدلة المستهدَفة إلى أجهزة متعددة، ثم انقر على تشغيل .

  4. تعرض نافذة أداة "مصفوفة الاختبار" نتائج الاختبار لكل عملية إعداد جهاز تم اختيارها.

    الشكل 7. نتائج الاختبار في نافذة أداة "مصفوفة الاختبار"

  5. يمكنك النقر على اختبار معيّن لفحص النتيجة في لوحة الإخراج. يمكنك أيضًا ترتيب الاختبارات من خلال النقر على الأعمدة المختلفة.

التشغيل باستخدام "مركز الاختبار الافتراضي" من Firebase

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

لبدء استخدام "مختبر Firebase الافتراضي"، عليك اتّباع الخطوات التالية:

  1. أنشئ حسابًا على Google إذا لم يكن لديك حساب.
  2. في وحدة تحكُّم Firebase، انقر على إنشاء مشروع جديد.

يوفّر "استوديو Android" أدوات مدمجة تتيح لك ضبط طريقة نشر اختباراتك في "مختبر Firebase الافتراضي". بعد إنشاء مشروع على Firebase، يمكنك إنشاء إعدادات اختبار وتنفيذ اختباراتك باتّباع الخطوات التالية:

  1. انقر على تشغيل > تعديل عمليات الضبط من القائمة الرئيسية.
  2. انقر على إضافة إعداد جديد واختَر اختبارات Android المزوّدة بأدوات.
  3. أدخِل تفاصيل الاختبار أو اختَرها، مثل اسم الاختبار ونوع الوحدة ونوع الاختبار وفئة الاختبار.
  4. من القائمة المنسدلة الهدف ضمن خيارات هدف النشر، اختَر مصفوفة أجهزة Firebase Test Lab.
  5. إذا لم تكن مسجِّلاً الدخول، انقر على تسجيل الدخول باستخدام Google واسمح لـ Android Studio بالوصول إلى حسابك.
  6. بجانب مشروع Cloud، اختَر مشروعك على Firebase من القائمة.
  7. بجانب إعدادات المصفوفة، اختَر أحد الإعدادات التلقائية من القائمة المنسدلة أو أنشئ إعداداتك الخاصة بالنقر على فتح مربّع الحوار . يمكنك اختيار جهاز واحد أو أكثر، وإصدارات Android، واللغات، واتجاهات الشاشة التي تريد اختبار تطبيقك بها. سيختبر "مختبر Firebase الافتراضي" تطبيقك باستخدام كل مجموعات الخيارات التي تحدّدها عند إنشاء نتائج الاختبار.
  8. انقر على حسنًا في مربّع الحوار إعدادات التشغيل/التصحيح للخروج.
  9. نفِّذ اختباراتك من خلال النقر على تشغيل .

الشكل 8. إنشاء إعدادات اختبار لـ "مركز الاختبار الافتراضي لمنصة Firebase"

تحليل نتائج الاختبار

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

الشكل 9. نتائج الاختبارات المبرمَجة باستخدام "مركز الاختبار الافتراضي لمنصة Firebase"

يمكنك أيضًا تحليل اختباراتك على الويب من خلال اتّباع الرابط المعروض في بداية سجلّ تنفيذ الاختبار في نافذة التشغيل.

عرض تغطية الاختبار

تتوفّر أداة "تغطية الاختبار" لاختبارات الوحدات المحلية لتتبُّع النسبة المئوية ومساحات رمز تطبيقك التي غطّتها اختبارات الوحدات. استخدِم أداة تغطية الاختبار لتحديد ما إذا كنت قد اختبرت بشكل كافٍ العناصر والفئات والطرق وأسطر الرمز البرمجي التي يتكوّن منها تطبيقك.

لتنفيذ اختبارات مع التغطية، اتّبِع الخطوات نفسها الموضّحة في تنفيذ الاختبارات، ولكن بدلاً من النقر على تنفيذ ، انقر على تنفيذ اسم الاختبار مع التغطية . في نافذة المشروع (Project)، قد يكون هذا الخيار مخفيًا خلف المزيد من خيارات التشغيل/التصحيح (More Run/Debug). يمكنك أيضًا ضبط إعدادات التغطية في مربع الحوار إعدادات التشغيل/التصحيح ضمن علامة التبويب تغطية الرمز.

الشكل 10. نسب تغطية الرمز البرمجي لأحد التطبيقات

عرض نتائج الاختبار

عند إجراء اختبار واحد أو أكثر من Android Studio، تظهر النتائج في نافذة التشغيل. يعرض الشكل 11 عملية اختبار ناجحة.

الشكل 11. تظهر نتائج الاختبار في نافذة "التشغيل".

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

  1. استخدِم شريط الأدوات "تشغيل" لإعادة تشغيل الاختبار الحالي، وإيقاف الاختبار الحالي، وإعادة تشغيل الاختبارات التي تعذّر إجراؤها (لا يظهر لأنّه متاح لاختبارات الوحدات فقط)، وإيقاف الإخراج مؤقتًا، وإفراغ سلاسل المحادثات.
  2. استخدِم شريط أدوات الاختبار لفلترة نتائج الاختبار وترتيبها. يمكنك أيضًا توسيع العُقد أو تصغيرها، وعرض تغطية الاختبار، واستيراد نتائج الاختبار أو تصديرها.
  3. انقر على قائمة السياق لتتبُّع الاختبار الجاري، وعرض الإحصاءات المضمّنة، والانتقال إلى تتبُّع تسلسل استدعاء الدوال البرمجية، وفتح رمز المصدر عند حدوث استثناء، والانتقال تلقائيًا إلى المصدر، واختيار الاختبار الأول الذي تعذّر تنفيذه عند اكتمال عملية الاختبار.
  4. تشير رموز حالة الاختبار إلى ما إذا كان الاختبار يتضمّن خطأ أو تم تجاهله أو تعذّر إجراؤه أو هو قيد التقدّم أو تم اجتيازه أو تم إيقافه مؤقتًا أو تم إنهاؤه أو لم يتم تنفيذه.
  5. انقر بزر الماوس الأيمن على أحد الأسطر في العرض الشجري لعرض قائمة سياقية تتيح لك تشغيل الاختبارات في وضع تصحيح الأخطاء أو فتح ملف رمز مصدر الاختبار أو الانتقال إلى السطر في رمز المصدر الذي يتم اختباره.

تحليل حالات تعذّر الاختبار

عندما يتعذّر إجراء اختبار واحد أو أكثر، ستعرض نافذة النتائج علامة تحذير وعدد حالات التعذّر (على سبيل المثال، "تعذّرت الاختبارات: 1"):

الشكل 12: تفاصيل الاختبار الذي تعذّر إكماله في جزء الإخراج

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

مزيد من المعلومات

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