1. مقدمة
تاريخ آخر تعديل: 2022-04-07
كيفية إجراء اختبارات على الأجهزة الجوّالة باستخدام أنظمة التكامل المستمر/التسليم المستمر
قد يكون إجراء الاختبارات على الأجهزة الجوّالة أمرًا صعبًا، لأنّ العديد من التطبيقات تعمل على منصات وأجهزة وإصدارات مختلفة من واجهات برمجة التطبيقات. يريد مطوّرو التطبيقات إجراء الاختبار على أكبر عدد ممكن من الإعدادات لرصد المشاكل قبل أن يواجهها المستخدمون، ولكن القيود المتعلقة بالتكلفة والموارد تحدّ من عدد الأجهزة الاختبارية ومقدار الصيانة اليدوية التي يمكن للمطوّرين الفرديين استثمارها. عندما تتوسّع عملية التطوير، خاصةً لأنظمة التكامل المستمر/التطوير المستمر (CI/CD)، يجب أن تتم عملية الاختبار بشكل آلي مع تقليل تكلفة الصيانة والجهد المبذول فيها.
لمساعدتك في فهم أداء تطبيقاتك على أجهزة المستخدمين، يستضيف "مختبر Firebase الافتراضي" مجموعة من الأجهزة الجوّالة المادية والافتراضية في مراكز البيانات التابعة لنا. نوفّر أيضًا Google Cloud CLI، وهي أداة سطر أوامر مستقلة عن النظام الأساسي وتنسّق عمليات إجراء الاختبارات على الأجهزة في مراكز البيانات. تسهّل أداة سطر الأوامر gcloud CLI دمج حلّ الاختبار المستند إلى السحابة الإلكترونية في Test Lab في عمليات سير عمل CI/CD الحالية.
الدعم من عدّة منصات
يوفر مركز الاختبار الافتراضي حلول اختبار لتطبيقات Android وتطبيقات iOS، كما يوفر دعمًا متخصصًا للألعاب على الأجهزة الجوّالة، مثل Unity. تتضمّن خيارات الاختبار أُطر اختبار شائعة، مثل Android Espresso وUI Automator وiOS XCTest. باستخدام الزاحف الآلي Robo، يمكن أن يجري مركز الاختبار الافتراضي اختبارات بدون أي رمز اختبار.
ما مِن متطلبات للأجهزة
يستضيف "مركز الاختبار الافتراضي" أجهزة فعلية في مراكز بيانات Google، كما يستضيف أجهزة افتراضية في Google Cloud. كل ما عليك فعله هو إرسال اختباراتك إلى "مركز الاختبار الافتراضي" وانتظار النتائج.
سرعة وموثوقية
يمكن أن يستغرق تنفيذ العديد من حالات الاختبار المتزامنة وقتًا طويلاً، ما يؤدي إلى حظر عمليات التكامل المستمر/التسليم المستمر. باستخدام مركز الاختبار الافتراضي، يمكنك بسهولة تقسيم الاختبارات إلى أجزاء وتشغيلها على الأجهزة المتعددة في الوقت نفسه. يمكنك أيضًا رصد عدم الاستقرار، وهو من المشاكل الشائعة في اختبارات الأجهزة الجوّالة.
أهداف الدورة التعليمية
- كيفية إنشاء عناصر الاختبار
- كيفية إجراء اختبار على الأجهزة الجوّالة باستخدام واجهة سطر الأوامر 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 لإجراء اختبار باستخدام مركز الاختبار الافتراضي
في هذا القسم، ستنشئ مشروع 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هو رقم تعريف مشروعك. يمكنك العثور على رقم تعريف المشروع في عنوان URL الخاص بوحدة تحكّم Firebase، والذي يتّبع اصطلاح التسمية التالي:https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID
إذا لم يكن لديك مشروع Firebase، أنشئ مشروعًا في وحدة تحكّم Firebase.
إجراء اختبار باستخدام حِزم APK التي تم إنشاؤها
في هذا القسم، ستجري اختبارًا لقياس حالة التطبيق على جهاز مركز الاختبار الافتراضي التلقائي، وهو جهاز 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
تحليل نتائج الاختبار
يمكنك تحليل نتائج الاختبار باستخدام أيّ من الخيارات التالية:
gcloudsummary: عند انتهاء الاختبار، تعرض 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 التي تخزِّن نتائج الاختبارات وعناصرها. للعثور على ملفّ XML لـ JUnit الذي يحتوي على نتائج الاختبار، افتح الرابط وانتقِل إلى blueline-28-en-portrait/test_result_1.xml.
3- الإعداد باستخدام Jenkins CI
في هذا القسم، ستستخدم Jenkins CI، وهو نظام شائع للتكامل المستمر، لتنفيذ الاختبارات باستخدام مركز الاختبار الافتراضي. إذا كنت تريد استخدام نظام دمج متواصل مختلف، يمكنك الاطّلاع على أفضل الممارسات المتقدّمة لتشغيل مجموعات اختبار كبيرة ومستندات أنظمة الدمج المتواصل الأخرى، مثل Bitrise وCircle CI. يمكنك استخدام Flank كبديل لأداة سطر الأوامر gcloud.
تفعيل gcloud CLI لـ Jenkins
قبل استخدام مركز الاختبار الافتراضي مع Jenkins، يجب تفعيل واجهات برمجة التطبيقات المطلوبة وإعداد حساب خدمة يمكن أن يستخدمه Jenkins للمصادقة باستخدام gcloud CLI.
إضافة حساب خدمة Google Cloud إلى Jenkins
حسابات الخدمة هي حسابات محدودة مخصّصة لعمليات دمج الخدمات. توفّر هذه الحسابات تحكّمًا دقيقًا في خدمات معيّنة ولا تخضع لعمليات التحقّق من المحتوى غير المرغوب فيه أو طلبات إدخال اختبار CAPTCHA، ما قد يؤدي إلى حظر عمليات إنشاء التكامل المتواصل.
لإنشاء حساب خدمة، اتّبِع الخطوات التالية:
- افتح صفحة حسابات الخدمة في Google Cloud Console.
- انقر على إنشاء حساب خدمة، وأضِف اسمًا ووصفًا، ثم انقر على إنشاء ومتابعة.
- من القائمة المنسدلة اختيار دور، اختَر أساسي، ثم محرّر.
- انقر على متابعة، ثم انقر على تم.
بعد ذلك، يمكنك إنشاء مفتاح مصادقة وتنزيله ليتمكّن Jenkins من استخدامه للمصادقة كحساب الخدمة الذي أنشأته.
لإنشاء مفتاح حساب الخدمة وتنزيله، اتّبِع الخطوات التالية:
- من صفحة حسابات الخدمة في Google Cloud Console، انقر على عنوان البريد الإلكتروني المرتبط بالحساب الذي أنشأته.
- اختَر المفاتيح، ثمّ انقر على إضافة مفتاح وإنشاء مفتاح جديد.
- اختَر JSON، ثمّ انقر على إنشاء.
- عندما يُطلب منك تنزيل الملف، انقر على حسنًا. نزِّل الملف إلى مكان آمن على جهاز الكمبيوتر. ستحتاج إلى هذا الملف لاحقًا عند إعداد Jenkins.
لمزيد من المعلومات عن إنشاء حسابات الخدمة، يُرجى الاطّلاع على مقالة إنشاء حساب خدمة.
تفعيل واجهات Google Cloud APIs المطلوبة
تتيح لك واجهة برمجة التطبيقات Cloud Testing API إجراء اختبارات على البنية الأساسية من Google. لقد فعّلت واجهة برمجة التطبيقات هذه عند إكمال الخطوات الواردة في مقالة "إجراء اختبار باستخدام واجهة سطر الأوامر gcloud". تتيح لك Cloud Tool Results API الوصول آليًا إلى نتائج الاختبار.
- افتح مكتبة واجهات برمجة التطبيقات في Google Developers Console.
- في شريط البحث أعلى "وحدة تحكّم 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. إجراء اختبارات مركز الاختبار الافتراضي باستخدام 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 لتشغيل مركز الاختبار الافتراضي باستخدام سطر أوامر 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 في "واجهة سطر الأوامر في Google Cloud"
إذا كنت تفضّل إدارة وسيطاتك في مكان واحد أو باستخدام نظام التحكّم بالمصادر، يمكنك تحديد هذه الوسيطات في ملف وسيطات بتنسيق YAML. للتعرّف على كيفية استخدام هذه الميزة، شغِّل gcloud topic arg-files.
اختبارات الأجزاء التي سيتم تشغيلها بالتوازي
يقسّم تجزئة الاختبار مجموعة من الاختبارات إلى مجموعات فرعية (أجزاء) يتم تشغيلها بشكل منفصل. يُجري مركز الاختبار الافتراضي تلقائيًا كل جزء بالتوازي باستخدام أجهزة متعددة، ما يتيح له إكمال مجموعة الاختبارات بأكملها بسرعة أكبر. لمزيد من المعلومات، اطّلِع على تفعيل التقسيم.
لتفعيل التقسيم إلى أجزاء، استخدِم القناة 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 للتطبيق والاختبار، وأجريت اختبارًا لقياس حالة التطبيق باستخدام مركز الاختبار الافتراضي من خلال واجهة سطر الأوامر gcloud. يمكنك أيضًا إعداد مشروع Jenkins لتنفيذ الاختبار نفسه تلقائيًا.
أصبحت الآن على دراية بالخطوات الرئيسية لدمج "مركز الاختبار الافتراضي" في نظام الدمج المتواصل/التسليم المتواصل.
ما هي الخطوات التالية؟
اطّلِع على كيفية إعداد التكامل المستمر باستخدام "مجموعة أدوات المحاكاة" في Firebase
محتوى إضافي للقراءة
- بدء الاختبار باستخدام أنظمة التكامل المستمر | مستندات Firebase
- بدء الاختبار باستخدام gcloud CLI | مستندات Firebase