Firebase Test Lab زیرساخت ابری را برای آزمایش برنامههای اندروید فراهم میکند و از ادغام کامل با اندروید استودیو برای اجرای تستهای ابزار دقیق و بررسی نتایج تست برخوردار است.
این راهنما نحوهی اصلاح تستهای instrumented در اندروید استودیو را شرح میدهد تا بتوانید آنها را با Test Lab ادغام و اجرا کنید. برای دستورالعملهای استفاده از Test Lab از رابط کاربری اندروید استودیو برای ایجاد یک ماتریس تست، اجرای یک تست instrumented و مشاهدهی نتایج تست، به Run your tests with Firebase Test Lab مراجعه کنید.
ضبط تصاویر
Test Lab هنگام اجرای تستهای ابزار دقیق، از گرفتن اسکرینشات پشتیبانی میکند. برای یادگیری نحوه گرفتن اسکرینشات، به بخش «افزودن کتابخانه اسکرینشات به پروژه خود» مراجعه کنید.
ایجاد تست با استفاده از ضبط کننده تست اسپرسو
ابزار Espresso Test Recorder به شما امکان میدهد بدون نوشتن هیچ کد آزمایشی، تستهای رابط کاربری برای برنامه خود ایجاد کنید. میتوانید تعاملات خود را با یک دستگاه ضبط کنید و برای تأیید عناصر رابط کاربری در اسنپشاتهای خاص برنامه خود، دستوراتی (assertions) اضافه کنید. سپس Espresso Test Recorder ضبط ذخیره شده را میگیرد و به طور خودکار یک تست رابط کاربری Espresso مربوطه را تولید میکند که میتوانید برای آزمایش برنامه خود در Test Lab اجرا کنید.
برای کسب اطلاعات بیشتر، به ایجاد تستهای رابط کاربری با Espresso Test Recorder مراجعه کنید.
اصلاح رفتار تست ابزار دقیق برای Test Lab
Test Lab یک متغیر سیستمی ارائه میدهد که میتوانید آن را به تستهای ابزار دقیق خود اضافه کنید تا بتوانید کاری کنید که هنگام اجرای آنها در Test Lab نسبت به زمانی که آنها را روی دستگاه تست یا شبیهساز خود اجرا میکنید، رفتار متفاوتی داشته باشند.
مثال کد زیر یک ویژگی سیستمی به firebase.test.lab را میخواند و اگر تست در Test Lab در حال اجرا باشد، رشته testLabSetting را برابر با true قرار میدهد. سپس، از مقدار این رشته برای کنترل اجرای دستورات اضافی استفاده میکند:
Kotlin
val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab") if ("true" == testLabSetting) { // Do something when running in Test Lab // ... }
Java
String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab"); if ("true".equals(testLabSetting)) { // Do something when running in Test Lab // ... }
استفاده از Gradle Managed Devices از طریق افزونه Firebase Test Lab
دستگاههای مدیریتشدهی Gradle از طریق افزونهی Firebase Test Lab به شما امکان میدهد تستهای خودکارِ ابزار دقیق را در مقیاس بزرگ روی دستگاههای Test Lab ، بر اساس پیکربندیهای موجود در فایلهای Gradle پروژهتان، اجرا کنید.
دستگاههای مدیریتشدهی Gradle همچنین قابلیت شاردینگ هوشمند (smart sharding) را ارائه میدهند که به شما امکان میدهد تستها را بر اساس سابقهی تستهای قبلی خود، به طور بهینه بین شاردها (shards) توزیع کنید. با شاردینگ هوشمند، شاردها تقریباً برای مدت زمان یکسانی اجرا میشوند و نتایج تست را در سریعترین زمان ممکن برمیگردانند. شاردینگ هوشمند به شما امکان میدهد مجموعههای تست بزرگ را به صورت موازی اجرا کنید، که این ویژگی را برای جریانهای CI/CD بسیار مناسب میکند.
برای فعال کردن smart sharding با استفاده از افزونه Gradle Managed Devices Test Lab ، دستورالعملهای موجود در Optimize test runs with smart sharding را دنبال کنید.