بدء الاختبار باستخدام أنظمة التكامل المستمر (CI)

يمكنك استخدام مركز الاختبار الافتراضي لمنصة Firebase عند تطوير تطبيقك باستخدام أي نظام اندماج مستمر (CI). تتيح لك أنظمة التكامل المستمر إمكانية إنشاء تطبيقك واختباره تلقائيًا في كل مرة تتحقق فيها من تحديثات رمز مصدر التطبيق.

استخدام Firebase Test Lab مع Jenkins CI

يوضّح هذا القسم طريقة استخدام Test Lab مع Jenkins CI.

المتطلّبات

قبل أن تتمكّن من استخدام Firebase Test Lab مع Jenkins، يجب إكمال الخطوات التالية:

  1. إعداد gcloud اتّبِع التعليمات الواردة في صفحة استخدام Firebase Test Lab من سطر أوامر gcloud لإنشاء مشروع في Firebase وإعداد بيئة Google Cloud SDK المحلية.

  2. إنشاء حساب خدمة وتفويضه لا تخضع حسابات الخدمة لعمليات التحقق من الرسائل غير المرغوب فيها أو طلبات CAPTCHA، ما قد يؤدي إلى حظر عمليات إنشاء CI. أنشِئ حساب خدمة بدور المحرِّر في وحدة تحكُّم Google Cloud ثم فعِّله (يمكنك الاطّلاع على مستندات حساب تفعيل خدمة مصادقة gcloud للتعرّف على كيفية إجراء ذلك).

  3. فعِّل واجهات برمجة التطبيقات المطلوبة. بعد تسجيل الدخول باستخدام حساب الخدمة: في صفحة مكتبة واجهة برمجة تطبيقات Google Developers Console، فعِّل Google Cloud Testing API وCloud Tool Results API. لتفعيل واجهات برمجة التطبيقات هذه، اكتب أسماء واجهات برمجة التطبيقات هذه في مربّع البحث أعلى وحدة التحكّم، ثم انقر على تفعيل واجهة برمجة التطبيقات في صفحة النظرة العامة لواجهة برمجة التطبيقات هذه.

تثبيت Jenkins وإعداده

يمكنك تثبيت Jenkins CI وإعدادها على نظام التشغيل Linux أو Windows. ترتبط تفاصيل معيّنة في هذا الدليل بتثبيت Jenkins CI وتشغيله على نظام التشغيل Linux، بما في ذلك استخدام الشرطة المائلة (/) في مسارات الملفات.

لتنزيل Jenkins وتثبيته على جهاز كمبيوتر يعمل بنظام التشغيل Linux أو Windows، اتّبِع التعليمات الواردة في تثبيت Jenkins. بعد تثبيت Jenkins، اتّبِع التعليمات الواردة في مقالة البدء والوصول إلى Jenkins لإكمال عملية الإعداد والوصول إلى لوحة بيانات Jenkins.

ضبط إعدادات الأمان العامة

لا يتم ضبط مصادقة المستخدم والتحكّم في الوصول في Jenkins عند تثبيته لأول مرة. قبل استخدام Jenkins مع Firebase Test Lab، يمكنك ضبط إعدادات أمان عامة لفرض التحكّم في الوصول ومصادقة المستخدمين.

لضبط إعدادات الأمان العامة

  1. انتقِل إلى لوحة بيانات Jenkins على خادمك. لإجراء ذلك، انتقِل إلى http://<servername>:8080، حيث يشير <servername> إلى اسم جهاز الكمبيوتر الذي ثبَّت عليه Jenkins.
  2. في لوحة بيانات Jenkins، انقر على إدارة Jenkins، ثم انقر على إعداد الأمان العام.
  3. في صفحة إعداد الأمان العام، انقر على تفعيل الأمان، ثم انقر على حفظ.

لمزيد من المعلومات حول ضبط إعدادات الأمان لتطبيق Jenkins، يمكنك الاطّلاع على الأمان السريع والبسيط وإعداد الأمان العادي وتأمين Jenkins.

إنشاء مشروع Jenkins

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

إنشاء مشروع Jenkins

  1. انتقِل إلى لوحة بيانات Jenkins على خادمك. لإجراء ذلك، انتقِل إلى http://<servername>:8080، حيث يشير <servername> إلى اسم جهاز الكمبيوتر الذي ثبَّت عليه Jenkins.
  2. في لوحة بيانات Jenkins، انقر على عنصر جديد.
  3. اكتب اسمًا لمشروعك في حقل اسم العنصر:
    • اختر مشروع نمط حر لإنشاء مشروع يستخدم تهيئة تصميم واحد.
    • اختَر إنشاء مشروع متعدد الإعدادات لإنشاء مشروع يتم تشغيله على عدة تهيئات تصميم مختلفة. إذا كنت تخطط لإنشاء تطبيقك باستخدام مجموعة متنوعة من تهيئات الإصدار (لغات متعددة ومستويات واجهة برمجة تطبيقات Android متعددة وما إلى ذلك)، فإن المشروع المتعدد التهيئة هو الخيار الأفضل.
  4. انقر على حفظ.

بعد إنشاء مشروعك، يعرض متصفح الويب الصفحة الرئيسية لمشروعك.

إضافة عنصر التحكم في المراجعة وخطوات إنشاء Gradle

يصف هذا القسم طريقة دمج Jenkins مع أنظمة التحكّم في المراجعة، مثل GitHub، وكيفية إضافة خطوات إصدار Gradle لإنشاء حزم APK من رمز المصدر.

التكامل مع GitHub وأنظمة التحكم في المراجعة الأخرى

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

للتعرّف على كيفية ضبط الإصدارات في Jenkins، يمكنك الاطّلاع على ضبط الإصدارات التلقائية.

إضافة خطوات إصدار Gradle لإعادة إنشاء حِزم APK

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

  1. أضِف خطوة إنشاء لتشغيل الأوامر التالية في الدليل الرئيسي لتطبيقك:

    ./gradlew :app:assembleDebug
    ./gradlew :app:assembleDebugAndroidTest
    

  2. أضِف خطوة تصميم لاستخدام حِزم APK التي أنشأتها منصّة Gradle عند إجراء الاختبار باستخدام Test Lab. ويمكنك استخدام هذا المسار باعتباره <local_server_path> في مثال نص واجهة الأوامر الوارد أدناه، حيث يكون <Appمجلد> هو مجلد مشروع استوديو Android لتطبيقك:

    <AppFolder>/app/build/outputs/apk
    

إضافة خطوات إصدار Test Lab إلى Jenkins

أصبحت الآن جاهزًا لإضافة خطوة إنشاء إلى Jenkins لتشغيل Test Lab باستخدام سطر أوامر gcloud.

لإضافة خطوة إنشاء gcloud

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

  3. في نافذة أمر Jenkins Execute Shell، أدخِل ما يلي، مع استبدال <local_server_path> بمسار نموذج التطبيق على الخادم، و<app_apk> لملف APK لتطبيقك، و<app_test_apk> بحِزمة APK التجريبية:

    gcloud firebase test android run --app <local_server_path>/<app_apk>.apk
    --test <local_server_path>/<app_test_apk>.apk
    

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

بعد أن تكمل Test Lab اختبار تطبيقك، يمكنك مراجعة نتائج الاختبارات في وحدة تحكم Firebase أو في حزمة Google Cloud Storage في مشروعك. يمكنك أيضًا إضافة الأمر gsutil إلى أمر Shell الموضح أعلاه لنسخ بيانات نتائج الاختبار إلى جهاز الكمبيوتر المحلي. لمزيد من المعلومات، يمكنك الاطّلاع على تحليل نتائج مركز الاختبار الافتراضي لمنصة Firebase.

التكامل المستمر مع أنظمة CI الأخرى

للتعرّف على كيفية استخدام مركز الاختبار الافتراضي لمنصة Firebase مع أنظمة CI الأخرى، يمكنك الاطّلاع على المستندات التالية: