1. مقدمة
تاريخ آخر تعديل: 2022-04-07
كيفية إجراء اختبارات على الأجهزة الجوّالة باستخدام أنظمة CI/CD
قد يكون إجراء الاختبارات على الأجهزة الجوّالة أمرًا صعبًا، لأنّ العديد من التطبيقات تعمل على منصات وأجهزة وإصدارات مختلفة من واجهات برمجة التطبيقات. يريد مطوّرو التطبيقات إجراء الاختبار على أكبر عدد ممكن من الإعدادات لرصد المشاكل قبل أن يواجهها المستخدمون، ولكن القيود المتعلقة بالتكلفة والموارد تحدّ من عدد الأجهزة الاختبارية ومقدار الصيانة اليدوية التي يمكن للمطوّرين الفرديين استثمارها. عندما تتوسّع عملية التطوير، خاصةً لأنظمة التكامل المستمر/التطوير المستمر (CI/CD)، يجب أن تتم عملية الاختبار بشكل آلي مع تقليل تكلفة الصيانة والجهد المبذول فيها.
لمساعدتك في فهم أداء تطبيقاتك على أجهزة المستخدمين، يستضيف "مركز الاختبار الافتراضي لمنصة Firebase" مجموعة من الأجهزة الجوّالة المادية والافتراضية في مراكز البيانات التابعة لنا. نوفّر أيضًا Google Cloud CLI، وهي أداة سطر أوامر مستقلة عن النظام الأساسي وتنسّق عمليات تشغيل الاختبارات على الأجهزة في مراكز البيانات. تسهّل أداة سطر الأوامر gcloud CLI دمج حلّ الاختبار المستند إلى السحابة الإلكترونية في "معمل الاختبار" في عمليات سير عمل CI/CD الحالية.
التوافق مع عدّة منصات
توفّر "مختبر الاختبار" حلول اختبار لتطبيقات Android وiOS، كما توفّر دعمًا متخصصًا للألعاب على الأجهزة الجوّالة، مثل Unity. تتضمّن خيارات الاختبار أُطر اختبار شائعة، مثل Android Espresso وUI Automator وiOS XCTest. باستخدام الزاحف الآلي Robo، يمكن أن تجري Test Lab اختبارات بدون أي رمز اختبار.
ما مِن متطلبات للأجهزة
تستضيف "المختبر" أجهزة فعلية في مراكز بيانات Google، كما تستضيف أجهزة افتراضية في Google Cloud. كل ما عليك فعله هو إرسال اختباراتك إلى "مختبر الاختبارات" والانتظار إلى حين الحصول على النتائج.
سرعة وموثوقية
قد يستغرق تنفيذ العديد من حالات الاختبار المتزامنة وقتًا طويلاً، ما يؤدي إلى حظر عمليات التكامل المستمر/التسليم المستمر. باستخدام Test Lab، يمكنك بسهولة تقسيم الاختبارات وتشغيلها على أجهزة متعددة في الوقت نفسه. يمكنك أيضًا رصد عدم الاستقرار، وهو مشكلة شائعة في اختبارات الأجهزة الجوّالة.
أهداف الدورة التعليمية
- كيفية إنشاء عناصر الاختبار
- كيفية إجراء اختبار على الأجهزة الجوّالة باستخدام واجهة سطر الأوامر gcloud
- كيفية إعداد Jenkins CI
- كيفية إجراء اختبارات على الأجهزة الجوّالة باستخدام Jenkins CI
- كيفية ضبط إعدادات الاختبارات لتوسيع نطاقها باستخدام أنظمة التكامل المستمر
يركّز هذا الدرس التطبيقي حول الترميز على تنفيذ الاختبارات. يتم تجاهل المفاهيم ومجموعات الرموز غير ذات الصلة، ويتم توفيرها لك لنسخها ولصقها ببساطة.
المتطلبات
إذا كنت تفضّل إنشاء الاختبارات من البداية، عليك استخدام "استوديو Android" لتشغيل اختبار Android، أو XCode لتشغيل اختبار iOS. أو يمكنك فقط إحضار نفسك وسنوفّر لك القطع الأثرية.
2. إجراء اختبار باستخدام gcloud CLI
إنشاء حزمة APK لتطبيق Android وحزمة APK للاختبار
لتشغيل اختبار باستخدام "مركز الاختبار"، ابدأ بإنشاء حزمة APK لتطبيق Android وحزمة APK للاختبار تحتوي على اختبارات مزوّدة بأدوات لتشغيلها على أجهزة أو محاكيات. إذا كان لديك قاعدة رموز برمجية تعمل بشكل سليم، يمكنك إنشاء حِزم APK الخاصة بك أو استخدام BasicSample لـ Espresso.
لإنشاء حِزم APK باستخدام أوامر Gradle، يجب تثبيت حزمة تطوير البرامج (SDK) لنظام التشغيل Android. إذا لم يكن "استوديو Android" مثبَّتًا على جهازك، عليك تثبيت "استوديو Android" وحزمة تطوير البرامج (SDK) لنظام التشغيل Android، وإعداد بيئة ANDROID_HOME
باستخدام دليل حزمة تطوير البرامج (SDK) لنظام التشغيل Android. على سبيل المثال، في ملف ~/.bash_profile
، أضِف السطر التالي:
export ANDROID_HOME=~/Android/Sdk # For linux
export ANDROID_HOME=~/Library/Android/sdk # For MacOS
بعد ذلك، شغِّل الأوامر التالية لاستنساخ الرمز البرمجي وإنشاء حِزم APK:
git clone https://github.com/android/testing-samples.git cd testing-samples/ui/espresso/BasicSample/ ./gradlew assembleDebug # for generating app apk ./gradlew assembleDebugAndroidTest # for generating testing apk
بعد تنفيذ أوامر الاستنساخ والإنشاء، يمكنك العثور على حزمة APK للتطبيق وحزمة APK للاختبار في المواقع الجغرافية التالية:
app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
يمكنك بدلاً من ذلك استخدام الخيارات التالية للحصول على ملفات APK الخاصة بالاختبار والتطبيق:
- لإنشاء حِزم APK في "استوديو Android"، اتّبِع التعليمات الواردة في مقالة الاختبار في "استوديو Android".
- نزِّل تطبيق Notepad النموذجي. استخدِم ملف الرمز الثنائي
app-debug-unaligned.apk
وملف اختبارات الأجهزةapp-debug-test-unaligned.apk
، وكلاهما موجود فيNotePad/app/build/outputs/apk/
.
إذا كان لديك رمز مصدر صالح لتطبيق iOS، يمكنك كتابة XCTest وإنشاء ملف مضغوط من التطبيق والاختبارات.
استخدام gcloud CLI لإجراء اختبار باستخدام Test Lab
في هذا القسم، ستنشئ مشروعًا على Firebase وتضبط بيئة Google Cloud SDK المحلية. لمزيد من المعلومات، اطّلِع على بدء الاختبار باستخدام gcloud CLI .
إعداد gcloud CLI
- نزِّل Google Cloud SDK، الذي يتضمّن أداة gcloud CLI.
- تأكَّد من أنّ عملية التثبيت محدَّثة:
gcloud components update
- سجِّل الدخول إلى gcloud CLI باستخدام حسابك على Google:
gcloud auth login
- اضبط مشروعك على Firebase في gcloud CLI، حيث يمثّل
PROJECT_ID
رقم تعريف مشروعك على Firebase. يمكنك العثور على رقم تعريف المشروع في عنوان URL الخاص بوحدة تحكّم Firebase، والذي يتّبع اصطلاح التسمية التالي:https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID
إذا لم يكن لديك مشروع على Firebase، أنشئ مشروعًا في وحدة تحكّم Firebase.
إجراء اختبار باستخدام حِزم APK التي تم إنشاؤها
في هذا القسم، ستجري اختبارًا باستخدام أداة قياس على جهاز Test Lab التلقائي، وهو جهاز Pixel 3 يعمل بالمستوى 28 من واجهة برمجة التطبيقات. إذا أردت استخدام جهاز آخر، يمكنك الاطّلاع على الأجهزة المتاحة.
باستخدام حِزم APK الخاصة بالتطبيق والاختبار التي أنشأتها في إنشاء حزمة APK خاصة بتطبيق Android وحزمة APK خاصة بالاختبار، شغِّل اختبار حالة تطبيق Android باستخدام الأمر التالي:
gcloud firebase test android run \ --type instrumentation \ --app app/build/outputs/apk/debug/app-debug.apk \ --test app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
تحليل نتائج الاختبار
يمكنك تحليل نتائج الاختبار باستخدام أيّ من الخيارات التالية:
gcloud
summary: عند انتهاء الاختبار، تعرض gcloud CLI ملخّصًا أساسيًا لنتائج الاختبار.gcloud
رمز الخروج: بعد اكتمال الاختبار، يخرج الأمر مع القيمة 0 إذا اجتاز الاختبار. إذا فشل الاختبار، سيتم إنهاء الأمر برمز خروج غير صفري.- وحدة تحكّم Firebase: تعرض أداة سطر الأوامر gcloud رابطًا يؤدي إلى "وحدة تحكّم Firebase". يتبع الرابط اصطلاح التسمية
https://console.firebase.google.com/project/PROJECT_ID/testlab/...
لمزيد من المعلومات، يُرجى الاطّلاع على تفسير النتائج من عملية تنفيذ اختبار واحدة. - ملف JUnit XML: تعرض أداة سطر الأوامر gcloud CLI ما يلي:
Raw results will be stored in your Cloud Storage bucket at [https://console.developers.google.com/storage/browser/test-lab-xxxxx/xxxxx/]
test-lab-xxxxx/xxxxx
هي حزمة Cloud Storage التي تخزِّن نتائج الاختبارات وعناصرها. للعثور على ملف JUnit XML الذي يحتوي على نتائج الاختبار، افتح الرابط وانتقِل إلى blueline-28-en-portrait/test_result_1.xml
.
3- الإعداد باستخدام Jenkins CI
في هذا القسم، ستستخدم Jenkins CI، وهو نظام شائع للتكامل المستمر، لتنفيذ الاختبارات باستخدام "مختبر الاختبار". إذا كنت تريد استخدام نظام CI مختلف، يمكنك الاطّلاع على أفضل الممارسات المتقدّمة لتشغيل مجموعات اختبار كبيرة ومستندات أنظمة CI الأخرى، مثل Bitrise وCircle CI. يمكنك استخدام Flank كبديل لأداة سطر الأوامر gcloud.
تفعيل gcloud CLI لـ Jenkins
قبل استخدام Test Lab مع Jenkins، يجب تفعيل واجهات برمجة التطبيقات المطلوبة وإعداد حساب خدمة يمكن أن يستخدمه Jenkins للمصادقة باستخدام gcloud CLI.
إضافة حساب خدمة Google Cloud إلى Jenkins
حسابات الخدمة هي حسابات محدودة مخصّصة لعمليات دمج الخدمات. توفّر هذه الحسابات تحكّمًا دقيقًا في خدمات معيّنة ولا تخضع لعمليات التحقّق من المحتوى غير المرغوب فيه أو طلبات إدخال رمز التحقّق، ما قد يؤدي إلى حظر عمليات إنشاء التكامل المستمر.
لإنشاء حساب خدمة، اتّبِع الخطوات التالية:
- افتح صفحة حسابات الخدمة في Google Cloud Console.
- انقر على إنشاء حساب خدمة، وأضِف اسمًا ووصفًا، ثم انقر على إنشاء ومتابعة.
- من القائمة المنسدلة اختيار دور، اختَر أساسي، ثم محرّر.
- انقر على متابعة، ثم انقر على تم.
بعد ذلك، يمكنك إنشاء مفتاح مصادقة وتنزيله ليتمكّن Jenkins من استخدامه للمصادقة كحساب الخدمة الذي أنشأته.
لإنشاء مفتاح حساب الخدمة وتنزيله، اتّبِع الخطوات التالية:
- من صفحة حسابات الخدمة في Google Cloud Console، انقر على عنوان البريد الإلكتروني المرتبط بالحساب الذي أنشأته.
- اختَر المفاتيح، ثم انقر على إضافة مفتاح وإنشاء مفتاح جديد.
- اختَر JSON، ثمّ انقر على إنشاء.
- عندما يُطلب منك تنزيل الملف، انقر على حسنًا. نزِّل الملف إلى مكان آمن على جهاز الكمبيوتر. ستحتاج إلى هذا الملف لاحقًا عند إعداد Jenkins.
لمزيد من المعلومات عن إنشاء حسابات الخدمة، يُرجى الاطّلاع على مقالة إنشاء حساب خدمة.
تفعيل واجهات Google Cloud APIs المطلوبة
تتيح لك واجهة برمجة التطبيقات Cloud Testing API إجراء اختبارات على البنية الأساسية من Google. لقد فعّلت واجهة برمجة التطبيقات هذه عند إكمال الخطوات الواردة في مقالة "إجراء اختبار باستخدام واجهة سطر الأوامر gcloud". تتيح لك Cloud Tool Results API الوصول آليًا إلى نتائج الاختبار.
- افتح مكتبة Google Developers Console API.
- في شريط البحث أعلى "وحدة تحكّم Firebase"، أدخِل اسم كل واجهة برمجة تطبيقات مطلوبة ( Cloud Testing API وCloud Tool Results API). تظهر صفحة النظرة العامة لواجهة برمجة التطبيقات المطلوبة.
- انقر على تفعيل واجهة برمجة التطبيقات في صفحة النظرة العامة لكل واجهة برمجة تطبيقات.
تثبيت Jenkins وإعداده
يمكنك تثبيت Jenkins CI وإعداده على أنظمة التشغيل Linux وmacOS وWindows والعديد من البيئات الأخرى. تتعلّق بعض تفاصيل هذا الدرس التطبيقي حول الترميز بتثبيت Jenkins CI وتشغيله على نظام التشغيل Linux، بما في ذلك استخدام الشرطات المائلة (/) في مسارات الملفات.
لتنزيل Jenkins وتثبيته على جهاز كمبيوتر يعمل بنظام التشغيل Linux أو Windows، اتّبِع التعليمات الخاصة بتثبيت Jenkins. بعد تثبيت Jenkins، اتّبِع تعليمات تثبيت Jenkins نفسها لإكمال عملية الإعداد والوصول إلى لوحة بيانات Jenkins باستخدام http://localhost:8080.
التحقّق من المكوّنات الإضافية المثبَّتة
يتوافق Jenkins مع أنظمة مختلفة للتحكّم في الإصدارات. في هذا الدرس العملي، ستستخدم Git لتشغيل الاختبار السابق. وللحصول على تجربة أفضل عند تشغيل gcloud CLI، عليك تثبيت GCloud SDK Plugin.
- في لوحة بيانات Jenkins، انقر على إدارة Jenkins، ثمّ على إدارة المكوّنات الإضافية.
- ابحث عن المكوّنين الإضافيَّين Git وGCloud SDK وثبِّتهما (إذا لم يكونا مثبّتَين بعد).
ضبط موقع حِزم تطوير البرامج (SDK) لنظام التشغيل Android وGoogle Cloud
عليك الآن توجيه Jenkins إلى مكان العثور على حزمة تطوير البرامج (SDK) لكلٍّ من Google Cloud وAndroid.
لضبط إعدادات حِزم تطوير البرامج (SDK) من Google Cloud وAndroid في Jenkins، اتّبِع الخطوات التالية:
- في لوحة بيانات Jenkins، انقر على Manage Jenkins (إدارة Jenkins)، ثم انقر على Global Tool Configuration (إعدادات الأدوات العامة).
- في قسم Google Cloud SDK، انقر على إضافة Google Cloud SDK.
- في حقل الاسم، أدخِل اسمًا يسهل تذكّره لمثيل حزمة تطوير البرامج (SDK) من Google Cloud، مثل GCloud-SDK.
- أدخِل دليل الصفحة الرئيسية لحزمة تطوير البرامج (SDK) من Google Cloud، على سبيل المثال،
/opt/google-cloud-sdk
. - انقر على حفظ.
- اضبط خصائص النظام بالكامل لحِزم تطوير البرامج (SDK) على Android وGoogle Cloud من خلال فتح لوحة البيانات > إدارة Jenkins > ضبط النظام.
- ضَع علامة في مربّع الاختيار متغيرات البيئة وانقر على إضافة.
- في حقل الاسم، أدخِل ANDROID_HOME. في حقل القيمة، أدخِل موقع حزمة تطوير البرامج (SDK) لنظام التشغيل Android، على سبيل المثال،
/opt/Android/Sdk
. - ضَع علامة في مربّع الاختيار مواقع الأدوات وانقر على إضافة. من القائمة المنسدلة الاسم، اختَر اسم مثيل Google Cloud SDK الذي أضفته في "إعدادات الأداة العامة".
- في حقل الصفحة الرئيسية، أدخِل موقع Google Cloud SDK، مثلاً
/opt/google-cloud-sdk
. - انقر على حفظ.
إضافة بيانات اعتماد حساب الخدمة إلى Jenkins
عليك الآن إضافة بيانات اعتماد حساب خدمة gcloud CLI إلى Jenkins حتى يتمكّن Jenkins من المصادقة على أوامر gcloud CLI وتشغيلها بنجاح.
- في لوحة بيانات Jenkins، انقر على إدارة Jenkins، ثمّ على إدارة بيانات الاعتماد.
- في قسم المتاجر التي تم تحديد نطاقها على Jenkins، انقر على رابط النطاق (global)، ثم انقر على إضافة بيانات اعتماد.
- من القائمة المنسدلة النوع، اختَر حساب خدمة Google من المفتاح الخاص.
- في حقل اسم المشروع، أدخِل اسم مشروعك على Firebase.
- اختَر مفتاح JSON، ثم انقر على تصفّح وانتقِل إلى الموقع الذي حفظت فيه مفتاح حساب الخدمة.
- انقر على إنشاء.
أنت الآن جاهز لإعداد عملية إنشاء Jenkins المبرمَجة في "مختبر الاختبار".
4. إجراء اختبارات Test Lab باستخدام Jenkins CI
بعد إعداد Jenkins، لنجمّع كل شيء وننفّذ الاختبار نفسه باستخدام Jenkins.
يمكنك ضبط Jenkins لتنفيذ عمليات إنشاء مبرمَجة وإجراء اختبارات في كل مرة يتم فيها تسجيل تحديثات لتطبيقك. يمكنك أيضًا ضبط Jenkins لتنفيذ عمليات الإنشاء بشكل دوري. لمزيد من المعلومات عن إعداد الإصدارات في Jenkins، يُرجى الاطّلاع على مقالة إعداد الإصدارات التلقائية.
إنشاء مشروع Jenkins وإعداده
أنشئ مشروعًا لإجراء اختبارات الدمج المتواصل لتطبيقك باستخدام "مختبر الاختبار".
إنشاء مشروع Jenkins
- افتح لوحة بيانات Jenkins من خلال الانتقال إلى http://localhost:8080.
- في لوحة بيانات Jenkins، انقر على New Item.
- أدخِل اسمًا لمشروعك في حقل اسم العنصر، ثم انقر على مشروع Freestyle لإنشاء مشروع يستخدم إعدادًا واحدًا للإنشاء.
- انقر على موافق. لإكمال إعدادات المشروع، أكمِل الأقسام المتبقية بالتسلسل.
ضبط إعدادات إدارة رمز المصدر
- من علامة التبويب إدارة رمز المصدر، اختَر Git.
- أدخِل https://github.com/android/testing-samples.git في الحقل عنوان URL للمستودع.
ضبط بيئة الإصدار
يتيح لك قسم "بيئة الإنشاء" ضبط خصائص الإنشاء. فعِّل مصادقة Google Cloud باتّباع الخطوات التالية:
- في علامة التبويب بيئة الإنشاء، ضَع علامة في مربّع الاختيار مصادقة GCloud SDK واختَر اسم التثبيت الذي اخترته عند إضافة معلومات تثبيت Google Cloud.
- من القائمة المنسدلة بيانات اعتماد Google، اختَر بيانات اعتماد حساب الخدمة التي أعددتها.
إضافة خطوات إنشاء Gradle لإعادة إنشاء حِزم APK
- انتقِل للأسفل إلى قسم الإصدار، وانقر على إضافة خطوة إصدار، ثم اختَر تنفيذ shell.
- أضِف خطوة إنشاء لتنفيذ الأوامر التالية في الدليل الرئيسي لتطبيقك:
cd ui/espresso/BasicSample/ ./gradlew assembleDebug # for generating app apk ./gradlew assembleDebugAndroidTest # for generating testing apk
إضافة خطوة إنشاء gcloud CLI إلى Jenkins
أنت الآن على استعداد لإضافة خطوة إنشاء إلى Jenkins لتشغيل Test Lab باستخدام سطر أوامر gcloud CLI.
لإضافة خطوة إنشاء gcloud CLI، أضِف خطوة إنشاء تنفيذ shell جديدة وأدخِل الأمر التالي:
gcloud config set project PROJECT_ID gcloud firebase test android run \ --app ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/debug/app-debug.apk --test ${WORKSPACE}/ui/espresso/BasicSample/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
بعد الانتهاء من إعداد المشروع، انتقِل إلى أسفل الصفحة واحفظ الإعدادات. ستتم إعادة توجيهك إلى الصفحة الرئيسية للمشروع الجديد.
إجراء الاختبارات باستخدام Jenkins
أنت الآن جاهز لإنشاء مشروع Jenkins وتشغيل اختبار مثل الاختبار اليدوي الذي أجريته باستخدام واجهة سطر الأوامر gcloud.
لتشغيل اختبار باستخدام Jenkins، اتّبِع الخطوات التالية:
- لتفعيل الإصدار يدويًا، انقر على إنشاء الآن.
- يمكنك الاطّلاع على مستوى التقدّم والنتائج من خلال النقر على الإصدار الجديد > ناتج وحدة التحكّم.
إذا لم تظهر لك أخطاء، تهانينا! لقد أعددت مشروعًا وأجريت اختبارًا على جهاز Pixel 2 بنقرة واحدة. إذا واجهت أخطاءً، يُرجى الاطّلاع على مقالة تحديد المشاكل وحلّها.
5- أفضل الممارسات المتقدّمة لتشغيل مجموعات اختبار كبيرة
عندما تريد إجراء العديد من الاختبارات المتزامنة، اتّبِع أفضل الممارسات التالية لضمان إجراء اختباراتك بسرعة وبشكل موثوق.
زيادة التغطية على إعدادات أجهزة متعددة
يمكنك بسهولة إضافة أجهزة متعددة إلى خطوة إنشاء gcloud CLI. ويمكنك التحقّق من الأجهزة والإصدارات واللغات والإعدادات المحلية والاتجاهات المتاحة واختيارها. على سبيل المثال، ينفّذ الأمر التالي اختبارات على جهازَين:
- جهاز Google Pixel 2 افتراضي بمستوى واجهة برمجة التطبيقات 30 في الوضع العمودي واللغة الإنجليزية
- جهاز Samsung Galaxy S20 حقيقي بمستوى واجهة برمجة التطبيقات 29 في الوضع الأفقي واللغة الفرنسية
gcloud firebase test android run \ --type instrumentation \ --app app-debug.apk \ --test app-debug-test.apk \ --device model=Pixel2,version=30,locale=en,orientation=portrait \ --device model=x1q,version=29,locale=fr,orientation=landscape
استخدام ملف إعداد YAML في "أداة سطر الأوامر gcloud"
إذا كنت تفضّل إدارة وسيطاتك في مكان واحد أو باستخدام نظام التحكّم بالمصادر، يمكنك تحديد هذه الوسيطات في ملف وسيطات بتنسيق YAML. للتعرّف على كيفية استخدام هذه الميزة، شغِّل gcloud topic arg-files
.
اختبارات الأجزاء التي سيتم تنفيذها بالتوازي
يقسّم تجزئة الاختبار مجموعة من الاختبارات إلى مجموعات فرعية (أجزاء) يتم تشغيلها بشكل منفصل. يُشغّل Test Lab تلقائيًا كل جزء بالتوازي باستخدام أجهزة متعددة، ما يتيح له إكمال مجموعة الاختبارات بأكملها بسرعة أكبر. لمزيد من المعلومات، اطّلِع على تفعيل التقسيم.
لتفعيل التقسيم، استخدِم القناة gcloud beta
، وأضِف العلامة –num-uniform-shards أو العلامة –test-targets-for-shard إلى خطوة الإنشاء في واجهة سطر الأوامر gcloud. على سبيل المثال، لتقسيم اختباراتك إلى خمس عمليات تنفيذ وتشغيلها بالتوازي، شغِّل الأوامر التالية:
gcloud beta firebase test android run \ --type instrumentation \ --app app-debug.apk \ --test app-debug-test.apk \ --num-uniform-shards 5
تفعيل ميزة رصد الاختبارات غير المستقرة
غالبًا ما تكون الاختبارات على الأجهزة الجوّالة غير مستقرة. في بعض الأحيان، تجتاز الاختبارات، وفي أحيان أخرى قد تفشل، حتى مع الإعداد نفسه. يمكنك رصد ما إذا كان الاختبار الذي تعذّر إجراؤه غير مستقر باستخدام العلامة –num-flaky-test-attempts في واجهة سطر الأوامر gcloud. تحدّد هذه العلامة عدد المرات التي يجب فيها إعادة محاولة تنفيذ الاختبار في حال تعذُّر تنفيذ حالة اختبار واحدة أو أكثر لأي سبب.
على سبيل المثال، لإعادة تشغيل حالات الاختبار التي تعذّر تنفيذها ثلاث مرات أخرى بعد عملية التشغيل الأولى التي تعذّر تنفيذها، حدِّد ما يلي:
gcloud beta firebase test android run \ --type instrumentation \ --app app-debug.apk \ --test app-debug-test.apk \ --num-flaky-test-attempts 3
6. تهانينا
تهانينا، لقد أجريت بنجاح أول اختبار لك في "مركز الاختبار الافتراضي" باستخدام نظام دمج متواصل.
أنشأت حِزم APK للتطبيق والاختبار، وأجريت اختبارًا باستخدام أدوات Test Lab من خلال واجهة سطر الأوامر gcloud. يمكنك أيضًا إعداد مشروع Jenkins لتنفيذ الاختبار نفسه تلقائيًا.
أصبحت الآن على دراية بالخطوات الرئيسية لدمج "مختبر الاختبار" في نظام الدمج المتواصل/التسليم المتواصل.
ما هي الخطوات التالية؟
اطّلِع على كيفية إعداد التكامل المستمر باستخدام "مجموعة أدوات المحاكاة" في Firebase
محتوى إضافي للقراءة
- بدء الاختبار باستخدام أنظمة التكامل المستمر | مستندات Firebase
- بدء الاختبار باستخدام gcloud CLI | مستندات Firebase