آزمایشگاه تست را در سیستم CI/CD خود ادغام کنید

1. مقدمه

آخرین به روز رسانی: 07-04-2022

نحوه اجرای تست های موبایل با سیستم های CI/CD

اجرای تست های موبایل می تواند دشوار باشد: بسیاری از برنامه ها بر روی پلتفرم ها، دستگاه ها و نسخه های API مختلف اجرا می شوند. توسعه‌دهندگان برنامه‌ها می‌خواهند تا حد امکان پیکربندی‌های زیادی را آزمایش کنند تا قبل از اینکه کاربرانشان مشکل را حل کنند. اما، محدودیت‌های هزینه و منابع، تعداد دستگاه‌های آزمایشی و میزان نگهداری دستی را که توسعه‌دهندگان فردی می‌توانند روی آن سرمایه‌گذاری کنند، محدود می‌کند. هنگامی که فرآیند توسعه افزایش می‌یابد، به‌ویژه برای سیستم‌های یکپارچه‌سازی/توسعه مستمر (CI/CD)، فرآیند تست نیاز دارد. به طور خودکار در حالی که هزینه و تلاش تعمیر و نگهداری به حداقل می رسد.

برای کمک به درک عملکرد برنامه‌هایتان در دستگاه‌های کاربرانتان، Firebase Test Lab مجموعه‌ای از دستگاه‌های فیزیکی و مجازی تلفن همراه را در مراکز داده ما میزبانی می‌کند. ما همچنین Google Cloud CLI را ارائه می‌کنیم، ابزار خط فرمان مستقل از پلتفرم که آزمایش‌های در حال اجرا را روی دستگاه‌های موجود در مراکز داده ما هماهنگ می‌کند. Gcloud CLI ادغام راه حل آزمایش مبتنی بر ابر آزمایش آزمایشگاه را در جریان های کاری CI/CD موجود ساده می کند.

پشتیبانی از پلتفرم های مختلف

Test Lab راه حل های آزمایشی برای برنامه های اندروید و iOS و پشتیبانی تخصصی برای بازی های موبایل مانند Unity ارائه می دهد. گزینه‌های تست چارچوب‌های تست محبوبی مانند Android Espresso، UI Automator و iOS XCTest را پوشش می‌دهند. با استفاده از خزنده خودکار ما، Robo ، Test Lab حتی می‌تواند آزمایش‌ها را بدون هیچ کد آزمایشی اجرا کند.

بدون نیاز به سخت افزار

Test Lab دستگاه‌های فیزیکی را در مراکز داده Google میزبانی می‌کند و دستگاه‌های مجازی را در Google Cloud میزبانی می‌کند. تنها کاری که باید انجام دهید این است که آزمایشات خود را به آزمایشگاه تست بفرستید و منتظر نتایج باشید.

سریع و قابل اعتماد

اجرای چندین تست همزمان می تواند زمان زیادی ببرد و فرآیندهای CI/CD را مسدود کند. با Test Lab می‌توانید به راحتی تست‌ها را خرد کنید و آن‌ها را روی چندین دستگاه به‌طور موازی اجرا کنید. همچنین می‌توانید پوسته پوسته شدن را که یک نقطه درد رایج در تست موبایل است، تشخیص دهید.

چیزی که یاد خواهید گرفت

  • نحوه ساخت مصنوعات آزمایشی
  • نحوه اجرای تست موبایل با استفاده از gcloud CLI
  • نحوه راه اندازی Jenkins CI
  • نحوه اجرای تست های موبایل با استفاده از Jenkins CI
  • نحوه پیکربندی تست ها برای افزایش مقیاس با سیستم های CI

این نرم افزار کد روی تست های در حال اجرا تمرکز دارد. مفاهیم غیر مرتبط و بلوک‌های کد محو شده‌اند و برای شما ارائه می‌شوند تا به سادگی کپی و جای‌گذاری کنید.

آنچه شما نیاز دارید

اگر ترجیح می دهید چیزهایی را از ابتدا بسازید، برای اجرای تست اندروید به اندروید استودیو یا برای اجرای تست iOS به XCode نیاز دارید. یا فقط خودتان را بیاورید و ما مصنوعات را ارائه می دهیم.

2. آزمایشی را با gcloud CLI اجرا کنید

یک APK برنامه اندروید بسازید و APK را آزمایش کنید

برای اجرای یک آزمایش با Test Lab، با ساختن یک APK برنامه Android و یک APK آزمایشی، که حاوی تست‌های ابزاردار برای اجرا بر روی دستگاه‌های سخت‌افزاری یا شبیه‌سازها است، شروع کنید. اگر از قبل یک پایگاه کد فعال دارید، می توانید APK های خود را بسازید یا می توانید از BasicSample برای اسپرسو استفاده کنید.

برای ساختن APK با استفاده از دستورات Gradle، باید Android SDK را نصب کنید. اگر Android Studio شما روی دستگاه شما نصب نیست، Android Studio و Android SDK را نصب کنید و محیط ANDROID_HOME را با فهرست راهنمای Android SDK خود تنظیم کنید. به عنوان مثال، در فایل ~/.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 Studio، دستورالعمل‌های Test in Android Studio را دنبال کنید.
  • نمونه برنامه 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 را راه اندازی کنید

  1. Google Cloud SDK را دانلود کنید که شامل ابزار gcloud CLI است.
  2. بررسی کنید که نصب شما به روز است:
gcloud components update
  1. با استفاده از حساب Google خود به gcloud CLI وارد شوید:
gcloud auth login
  1. پروژه Firebase خود را در gcloud CLI تنظیم کنید، جایی که PROJECT_ID شناسه پروژه Firebase شما است. شناسه پروژه را می‌توانید در URL کنسول Firebase پیدا کنید، که از این قرارداد نام‌گذاری پیروی می‌کند: https://console.firebase.google.com/project/[PROJECT_ID]/...
gcloud config set project PROJECT_ID

اگر پروژه Firebase ندارید، آن را در Firebase Console ایجاد کنید.

آزمایشی را با استفاده از APKهای ساخته شده اجرا کنید

در این بخش، یک تست ابزار دقیق را روی دستگاه پیش‌فرض Test Lab، که یک Pixel 3 با سطح API 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 - هنگامی که تست شما به پایان می رسد، gcloud CLI یک خلاصه اولیه از نتایج آزمایش شما را چاپ می کند.
  • کد خروج gcloud - پس از اتمام تست، در صورت قبولی تست، دستور با 0 خارج می شود. اگر تست ناموفق باشد، دستور با یک کد خروج غیر صفر خارج می شود.
  • کنسول Firebase - gcloud CLI پیوندی را به کنسول 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 محبوب، برای اجرای آزمایشات با Test Lab استفاده می کنید. اگر می‌خواهید از یک سیستم CI متفاوت استفاده کنید، به بهترین روش‌های پیشرفته برای اجرای مجموعه‌های آزمایشی بزرگ و مستندات سایر سیستم‌های CI مانند Bitrise و Circle CI مراجعه کنید. می توانید از Flank به عنوان جایگزینی برای gcloud CLI استفاده کنید.

gcloud CLI را برای جنکینز فعال کنید

قبل از اینکه بتوانید از Test Lab با Jenkins استفاده کنید، باید API های مورد نیاز را فعال کنید و یک حساب سرویس راه اندازی کنید که Jenkins بتواند از آن برای احراز هویت با Gcloud CLI استفاده کند.

یک حساب سرویس Google Cloud برای جنکینز اضافه کنید

حساب‌های سرویس، حساب‌های محدودی هستند که برای ادغام خدمات در نظر گرفته شده‌اند. این حساب‌ها کنترل دقیقی را برای سرویس‌های خاص ارائه می‌کنند و مشمول بررسی هرزنامه یا درخواست‌های کپچا نیستند، که در غیر این صورت می‌تواند ساخت‌های CI شما را مسدود کند.

برای ایجاد یک حساب کاربری، مراحل زیر را دنبال کنید:

  1. صفحه حساب‌های سرویس را در Google Cloud Console باز کنید.
  2. روی ایجاد حساب سرویس کلیک کنید، یک نام و توضیحات اضافه کنید و سپس روی ایجاد و ادامه کلیک کنید.
  3. از منوی انتخاب نقش ، Basic را انتخاب کنید و سپس ویرایشگر را انتخاب کنید.
  4. روی Continue کلیک کنید، سپس روی Done کلیک کنید.

سپس، یک کلید احراز هویت را ایجاد و دانلود می کنید که جنکینز می تواند از آن برای احراز هویت به عنوان حساب سرویسی که ایجاد کرده اید استفاده کند.

برای ایجاد و دانلود کلید حساب کاربری، مراحل زیر را دنبال کنید:

  1. از صفحه حساب‌های سرویس در Google Cloud Console، روی ایمیل مرتبط با حسابی که ایجاد کرده‌اید کلیک کنید.
  2. کلیدها را انتخاب کنید، سپس روی افزودن کلید و ایجاد کلید جدید کلیک کنید.
  3. JSON را انتخاب کنید، سپس روی ایجاد کلیک کنید.
  4. وقتی از شما خواسته شد فایل را دانلود کنید، روی OK کلیک کنید. فایل را در مکانی امن در رایانه خود دانلود کنید. بعداً هنگام پیکربندی جنکینز به این فایل نیاز دارید.

برای کسب اطلاعات بیشتر درباره ایجاد حساب‌های خدمات، به ایجاد حساب سرویس مراجعه کنید.

APIهای Google Cloud مورد نیاز را فعال کنید

Cloud Testing API به شما امکان می‌دهد آزمایش‌هایی را روی زیرساخت Google انجام دهید. این API را زمانی فعال کردید که اجرای آزمایشی را با gcloud CLI انجام دادید. Cloud Tool Results API به شما امکان می دهد به صورت برنامه ریزی شده به نتایج آزمایش خود دسترسی داشته باشید.

  1. کتابخانه Google Developers Console API را باز کنید.
  2. در نوار جستجو در بالای کنسول Firebase، نام هر یک از API مورد نیاز را وارد کنید ( Cloud Testing API و Cloud Tool Results API ). صفحه نمای کلی برای API درخواستی ظاهر می شود.
  3. روی Enable API در صفحه نمای کلی هر API کلیک کنید.

Jenkins را نصب و راه اندازی کنید

می‌توانید Jenkins CI را در Linux، macOS، Windows و بسیاری از محیط‌های دیگر نصب و راه‌اندازی کنید. جزئیات خاصی از این کد لبه مخصوص نصب و اجرای Jenkins CI در لینوکس است، از جمله استفاده از اسلش (/) در مسیرهای فایل.

برای دانلود و نصب Jenkins روی رایانه‌ای که دارای لینوکس یا ویندوز است، دستورالعمل‌های نصب Jenkins را دنبال کنید. پس از نصب Jenkins، دستورالعمل‌های نصب Jenkins را برای تکمیل راه‌اندازی و دسترسی به داشبورد Jenkins با استفاده از http://localhost:8080 دنبال کنید.

افزونه های نصب شده را تأیید کنید

جنکینز از سیستم های کنترل نسخه های مختلف پشتیبانی می کند. در این کد لبه از Git برای اجرای تست قبلی استفاده می کنید. و برای به دست آوردن تجربه بهتر با اجرای gcloud CLI، باید افزونه GCloud SDK را نصب کنید.

  1. در داشبورد Jenkins، روی Manage Jenkins و سپس روی Manage Plugins کلیک کنید.
  2. افزونه های Git و GCloud SDK را جستجو کنید و آنها را نصب کنید (اگر هنوز نصب نشده اند).

مکان Android و Google Cloud SDK خود را پیکربندی کنید

اکنون به جنکینز آموزش می‌دهید که Google Cloud SDK و Android SDK را کجا پیدا کند.

برای پیکربندی Google Cloud و Android SDK برای Jenkins، این مراحل را دنبال کنید:

  1. در داشبورد جنکینز، روی Manage Jenkins کلیک کنید و سپس روی پیکربندی ابزار جهانی کلیک کنید.
  2. در بخش Google Cloud SDK ، روی Add Google Cloud SDK کلیک کنید.
  3. در قسمت نام ، نامی را برای نمونه Google Cloud SDK وارد کنید که به راحتی به خاطر بسپارید، به عنوان مثال، GCloud-SDK.
  4. دایرکتوری اصلی Google Cloud SDK خود را وارد کنید، به عنوان مثال، /opt/google-cloud-sdk .
  5. روی ذخیره کلیک کنید.
  6. با باز کردن Dashboard > Manage Jenkins > Configure System، ویژگی‌های کل سیستم خود را برای Android و Google Cloud SDK پیکربندی کنید.
  7. کادر بررسی Environment variables را انتخاب کرده و روی Add کلیک کنید.
  8. در قسمت نام ، ANDROID_HOME را وارد کنید. در قسمت Value ، مکان Android SDK خود را وارد کنید، به عنوان مثال، /opt/Android/Sdk .
  9. روی جعبه انتخاب Tool Locations کلیک کنید و روی Add کلیک کنید. از منوی کشویی Name ، نام نمونه Google Cloud SDK را که در Global Tool Configuration اضافه کرده‌اید، انتخاب کنید.
  10. در قسمت صفحه اصلی ، مکان Google Cloud SDK خود را وارد کنید، به عنوان مثال، /opt/google-cloud-sdk .
  11. روی ذخیره کلیک کنید.

اعتبار حساب سرویس خود را به Jenkins اضافه کنید

اکنون اعتبار حساب سرویس gcloud CLI خود را به Jenkins اضافه می‌کنید تا جنکینز بتواند دستورات gcloud CLI را احراز هویت کرده و با موفقیت اجرا کند.

  1. در داشبورد Jenkins، روی Manage Jenkins و سپس روی Manage Credentials کلیک کنید.
  2. در بخش Stores scoped to Jenkins ، روی پیوند دامنه (جهانی) کلیک کنید، سپس روی Add Credentials کلیک کنید.
  3. از منوی کشویی Kind ، حساب سرویس Google را از کلید خصوصی انتخاب کنید.
  4. در قسمت Project Name ، نام پروژه Firebase خود را وارد کنید.
  5. کلید JSON را انتخاب کنید، سپس روی Browse کلیک کنید و به مکانی که کلید حساب سرویس خود را در آن ذخیره کرده‌اید، بروید.
  6. روی ایجاد کلیک کنید.

اکنون آماده پیکربندی ساخت خودکار جنکینز برای آزمایشگاه تست هستید.

4. تست های آزمایشگاه تست را با Jenkins CI اجرا کنید

حالا که جنکینز را راه‌اندازی کردید، بیایید همه چیز را کنار هم بگذاریم و همان آزمایش را با استفاده از جنکینز اجرا کنیم.

می‌توانید Jenkins را برای اجرای ساخت‌های خودکار پیکربندی کنید و هر بار که به‌روزرسانی‌های برنامه شما بررسی می‌شود، آزمایش‌هایی را اجرا کند. همچنین می‌توانید Jenkins را برای اجرای دوره‌ای بیلدها پیکربندی کنید. برای کسب اطلاعات بیشتر در مورد پیکربندی ساخت‌ها در جنکینز، به پیکربندی ساخت‌های خودکار مراجعه کنید.

پروژه جنکینز خود را ایجاد و پیکربندی کنید

پروژه ای برای اجرای آزمایش یکپارچه سازی مداوم برنامه خود با Test Lab ایجاد کنید.

یک پروژه جنکینز ایجاد کنید

  1. داشبورد جنکینز را با مراجعه به http://localhost:8080 باز کنید.
  2. در داشبورد جنکینز، روی آیتم جدید کلیک کنید.
  3. در قسمت Item name نامی برای پروژه خود وارد کنید و روی Freestyle project کلیک کنید تا پروژه ای بسازید که از یک پیکربندی ساخت استفاده می کند.
  4. روی OK کلیک کنید. برای تکمیل تنظیمات پروژه، بخش های باقی مانده را به ترتیب تکمیل کنید.

مدیریت کد منبع را پیکربندی کنید

  1. از تب Source Code Management ، Git را انتخاب کنید.
  2. https://github.com/android/testing-samples.git را در قسمت URL مخزن وارد کنید.

محیط ساخت را پیکربندی کنید

بخش Build Environment به شما امکان می دهد مشخصات ساخت را پیکربندی کنید. با دنبال کردن مراحل زیر، احراز هویت Google Cloud را فعال کنید:

  1. در برگه Build Environment ، کادر تأیید اعتبار SDK GCloud را انتخاب کنید و نام نصبی را که هنگام اضافه کردن اطلاعات نصب Google Cloud خود انتخاب کردید، انتخاب کنید.
  2. از منوی کرکره‌ای Google Credentials ، اعتبار حساب سرویس را که پیکربندی کرده‌اید انتخاب کنید.

مراحل ساخت Gradle را برای بازسازی بسته های APK اضافه کنید

  1. به قسمت Build بروید، روی افزودن مرحله ساخت کلیک کنید و سپس Execute shell را انتخاب کنید.
  2. برای اجرای دستورات زیر در دایرکتوری اصلی برنامه خود، یک مرحله ساخت اضافه کنید:
cd ui/espresso/BasicSample/
./gradlew assembleDebug  # for generating app apk
./gradlew assembleDebugAndroidTest # for generating testing apk

یک مرحله ساخت gcloud CLI به جنکینز اضافه کنید

اکنون آماده اضافه کردن یک مرحله ساخت به Jenkins برای اجرای Test Lab با استفاده از خط فرمان gcloud CLI هستید.

برای افزودن مرحله ساخت gcloud CLI، یک مرحله جدید Execute shell build اضافه کنید و دستور زیر را وارد کنید:

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

پس از اتمام تنظیمات پروژه، به پایین صفحه بروید و تنظیمات را ذخیره کنید. شما به صفحه اصلی پروژه جدید هدایت می شوید.

تست ها را با جنکینز اجرا کنید

اکنون شما آماده ساختن پروژه جنکینز هستید و آزمایشی مانند تست دستی که با gcloud CLI اجرا کردید را اجرا کنید.

برای اجرای تست با جنکینز، این مراحل را دنبال کنید:

  1. برای فعال کردن ساخت به صورت دستی، روی ساخت اکنون کلیک کنید.
  2. با کلیک کردن روی ساخت جدید > خروجی کنسول ، پیشرفت و نتایج را بررسی کنید.

اگر خطاها را نمی بینید، تبریک می گوییم! شما فقط یک پروژه را راه اندازی کردید و با یک کلیک آزمایشی را روی دستگاه Pixel 2 انجام دادید. اگر با خطا مواجه شدید، به عیب یابی مراجعه کنید.

5. بهترین شیوه های پیشرفته برای اجرای مجموعه های آزمایشی بزرگ

وقتی می‌خواهید تست‌های متعدد و همزمان را اجرا کنید، این بهترین روش‌ها را دنبال کنید تا مطمئن شوید که تست‌های شما سریع و قابل اعتماد اجرا می‌شوند.

افزایش پوشش در تنظیمات چند دستگاه

به راحتی می توانید چندین دستگاه را به مرحله ساخت gcloud CLI اضافه کنید. و می‌توانید دستگاه‌ها، نسخه‌ها، مناطق و جهت‌گیری‌های موجود را بررسی و انتخاب کنید. به عنوان مثال، دستور زیر تست ها را روی دو دستگاه اجرا می کند:

  • یک Google Pixel 2 مجازی با API سطح 30 در جهت عمودی و زبان انگلیسی
  • Samsung Galaxy S20 فیزیکی با API سطح 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

از فایل پیکربندی gcloud CLI YAML استفاده کنید

اگر ترجیح می دهید آرگومان های خود را در یک مکان یا با سیستم کنترل منبع خود مدیریت کنید، می توانید این آرگومان ها را در یک فایل آرگومان با فرمت YAML مشخص کنید. برای یادگیری نحوه استفاده از این ویژگی، gcloud topic arg-files را اجرا کنید.

تست های شارد به صورت موازی اجرا شوند

تقسیم بندی تست مجموعه ای از تست ها را به زیرگروه هایی (شاردها) تقسیم می کند که به صورت مجزا و مجزا اجرا می شوند. Test Lab به طور خودکار هر قطعه را با استفاده از چندین دستگاه به صورت موازی اجرا می کند، که به آزمایشگاه تست اجازه می دهد کل مجموعه آزمایش ها را با سرعت بیشتری انجام دهد. برای اطلاعات بیشتر، به فعال کردن اشتراک گذاری مراجعه کنید.

برای فعال کردن اشتراک‌گذاری، از کانال gcloud beta استفاده کنید و پرچم –num-uniform-shards یا –test-targets-for-shard flag را به مرحله ساخت gcloud CLI اضافه کنید. به عنوان مثال، برای تقسیم تست های خود به پنج اجرا و اجرای موازی، دستورات زیر را اجرا کنید:

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 CLI می توانید تشخیص دهید که آیا یک تست ناموفق پوسته پوسته شده است یا خیر. این پرچم تعداد دفعاتی را که یک یا چند مورد آزمایشی به هر دلیلی با شکست مواجه می‌شوند را مشخص می‌کند.

به عنوان مثال، برای اجرای مجدد موارد تست ناموفق سه بار دیگر پس از اجرای ناموفق اولیه، موارد زیر را مشخص کنید:

gcloud beta firebase test android run \
  --type instrumentation \
  --app app-debug.apk \
  --test app-debug-test.apk \
  --num-flaky-test-attempts 3

6. تبریک می گویم

تبریک می‌گوییم، شما اولین آزمایش آزمایشگاه آزمایشی خود را با سیستم CI با موفقیت انجام دادید!

شما برنامه ایجاد کردید و فایل‌های APK را آزمایش کردید، و با استفاده از gcloud CLI یک تست ابزار دقیق با Test Lab انجام دادید. شما همچنین یک پروژه جنکینز را برای خودکارسازی همان آزمایش راه اندازی کردید.

اکنون مراحل کلیدی را برای ادغام Test Lab در سیستم CI/CD خود می دانید.

بعدش چی؟

نحوه تنظیم CI با استفاده از Firebase Emulator Suite را بررسی کنید

در ادامه مطلب

اسناد مرجع