آزمایش Robo ابزاری آزمایشی است که با Firebase Test Lab ادغام شده است. «آزمایش Robo» ساختار میانای کاربر (UI) برنامهتان را تجزیهوتحلیل میکند و سپس آن را بهطور روشمند کاوش میکند و فعالیتهای کاربر را بهطور خودکار شبیهسازی میکند. وقتی از «آزمایش Robo» برای آزمایش برنامه در پیکربندی دستگاه خاصی با تنظیمات یکسان استفاده میکنید، این آزمایش همیشه فعالیتهای کاربر یکسانی را با همان ترتیب شبیهسازی میکند. این رویکرد آزمایشی تکرارپذیر به شما امکان میدهد از آزمایش Robo برای اعتبارسنجی رفع اشکالها و آزمایش رگرسیون استفاده کنید.
آزمایش Robo فایلهای گزارش را ضبط میکند، مجموعهای از نماگرفتهای حاشیهنویسیشده را ذخیره میکند، و سپس از آن نماگرفتها ویدیویی ایجاد میکند تا عملیات شبیهسازیشده کاربر را که انجام داده است به شما نشان دهد. این گزارشها، نماگرفتها، و ویدیوها میتوانند به شما کمک کنند علت ریشهای ازکارافتادن برنامه را تعیین کنید. این ویژگیهای آزمایش Robo همچنین میتوانند به شما کمک کنند مشکلات واسط کاربر برنامهتان را پیدا کنید.
علاوهبر اجرای آزمایشهای Robo معمولی، میتوانید آزمایشهایتان را بااستفاده از Robo scripts سفارشیسازی کنید که یکی از ویژگیهای آزمایشهای Robo است. برای کسب اطلاعات بیشتر، اجرای Robo script را ببینید.
اگر میخواهید نسخه بتا Robo برای iOS+ را امتحان کنید، اجرای آزمایش Robo را ببینید.
آمار خزیدن آزمایش Robo
برای کمک به شما در تفسیر نتایج آزمایش Robo، آزمایش Robo آمار را درطول هر خزیدن آزمایشی ضبط میکند. Test Lab آمار را در بالای برگه آزمایش Robo در صفحه نتایج آزمایش شما نمایش میدهد:
کنشها: تعداد کل کنشهای انجامشده درطول خزیدن، ازجمله کنشهای اسکریپت Robo، کنشهای Monkey، و دستورالعملهای Robo.
فعالیتها: تعداد فعالیتهای متمایز پوششدادهشده درطول خزش.
صفحهنمایشها: تعداد صفحهنمایشهای متمایزی که درطول خزیدن بازدید شده است.
Test Lab همچنین از آمار برای ایجاد نمایش تصویری آزمایش Robo در قالب نمودار خزیدن استفاده میکند. این نمودار صفحهها را بهعنوان گرههای خود و کنشها را بهعنوان لبهها دارد. با دنبال کردن لبههای بین صفحهها، میتوانید متوجه شوید که آزمایش Robo چگونه درطول خزیدن در برنامه شما پیمایش کرده است.
مهلت آزمایش Robo
بسته به پیچیدگی میانای کاربر برنامهتان، ممکن است پنج دقیقه یا بیشتر طول بکشد تا آزمایش Robo مجموعه کاملی از تعاملات میانای کاربر را تکمیل کند. توصیه میکنیم زمان اتمام آزمایش را برای اکثر برنامهها حداقل ۱۲۰ ثانیه (۲ دقیقه) و برای برنامههای نسبتاً پیچیده ۳۰۰ ثانیه (۵ دقیقه) تنظیم کنید. مقدار پیشفرض
برای مهلت زمانی ۳۰۰ ثانیه (۵ دقیقه) برای آزمایشهای اجراشده از Android Studio و
کنسول Firebase، و ۹۰۰ ثانیه (۱۵ دقیقه) برای آزمایشهای اجراشده از
خط فرمان gcloud است.
خطاهای مهلت راهاندازی برنامه
اگر شروع برنامه شما زمان زیادی طول بکشد، آزمایش Robo ممکن است خطایی ایجاد کند و نتواند برنامه شما را بخزد. این اتفاق فقط در مواردی رخ میدهد که زمان راهاندازی بسیار طولانی باشد و تنها با بازنگری در برنامه شما برای شروع سریعتر آن قابل حل است.
کنترل بیشتر با Robo scripts
گاهی اوقات به کنترل بیشتری بر آزمایشهایتان نیاز دارید. برای مثال، ممکن است بخواهید یک مسیر کاربر رایج را آزمایش کنید یا ورودی واسط کاربر خاصی مثل نام کاربری و گذرواژه ارائه دهید. دستورگانهای Robo میتوانند کمک کنند. برای کسب اطلاعات بیشتر درباره Robo scripts، به اجرای Robo script و راهنمای مرجع Robo scripts مراجعه کنید.
آزمایشهای Robo و ابزارههای واسط کاربر غیرAndroid
آزمایشهای Robo از Android API برای انجام مستقیم کنشها در ابزارههای واسط کاربر Android استفاده میکنند. این کار به آزمایشها کمک میکند میانای کاربر شما را بهطور خودکار کاوش کنند، اما همچنین به این معنی است که آنها باید بتوانند سلسلهمراتب میانای کاربر Android را برای صفحهنمایش استخراج کنند تا بتوانند آزمایشها را روی آن اجرا کنند.
اگر صفحهای در برنامهتان از ابزارههای واسط کاربر Android استفاده نمیکند، آزمایشهای Robo برای آزمایش آن صفحه به «کنشهای Monkey» برمیگردد. برخلاف کنشهای روشمندتر آزمایش Robo، «کنشهای Monkey» صرفاً رویدادهای تکضرب را در مکانهای نیمهتصادفی در صفحهنمایش دستگاه شبیهسازی میکنند.
برای آزمایش بهتر صفحههایی که از ابزارههای میانای کاربری Android استفاده نمیکنند، میتوانید تکضربهای دلخواه «کنش Monkey» را با مجموعهای از تکضربها و تعاملهای اسکریپتشده ازطریق Firebase Test Labآزمایشهای حلقه بازی جایگزین کنید.
ادغام با Google Play
وقتی فایل APK برنامهتان را بااستفاده از کانال آلفا یا بتا بارگذاری و منتشر میکنید، میتوانید از «آزمایش Robo» در «کنسول Google Play» استفاده کنید. «آزمایش Robo» روی مجموعهای از دستگاههای فیزیکی پرطرفدار از مکانهای جغرافیایی مختلف اجرا میشود و پوشش آزمایشی را در انواع اندازههای دستگاه و پیکربندیهای سختافزاری ارائه میدهد. برای کسب اطلاعات بیشتر، به استفاده از گزارشهای پیشاز راهاندازی برای شناسایی مشکلات مراجعه کنید.
ورود به سیستم حساب آزمایشی و ورودی نوشتاری ازپیش تعریفشده
آزمایش Robo از ورود به سیستم حساب آزمایشی پشتیبانی میکند و همچنین به شما امکان میدهد نوشتار ازپیش تعریفشده را در فیلدهای برنامهتان وارد کنید. برای ورود به سیستم سفارشی و سایر ورودیهای نوشتاری ازپیش تعریفشده، آزمایش Robo میتواند نوشتار را در فیلدهای EditText در برنامهتان وارد کند. برای هر رشته، باید فیلد EditText را بااستفاده از نام منبع Android شناسایی کنید. برای کسب اطلاعات بیشتر،
دسترسی به منابع را ببینید.
ورود به سیستم
آزمایش Robo دو روش ناسازگار برای پشتیبانی از ورود به سیستم دارد:
ورود به سیستم سفارشی: اگر اطلاعات اعتباری حساب آزمایشی را ارائه میدهید، باید به «آزمایش Robo» بگویید که آنها را کجا وارد کند و همچنین آن اطلاعات اعتباری را ارائه دهید.
ورود خودکار به سیستم: اگر اعتبارنامه حساب آزمایشی را برای ورود سفارشی به سیستم ارائه نکنید، از ورود خودکار به سیستم استفاده میشود. آزمایش Robo میتواند بهطور خودکار به سیستم برنامههای ساختهشده با ابزارههای استاندارد Android یا برنامههای Compose وارد شود. این کار بااستفاده از حساب آزمایشی Google انجام میشود.
برای ارائه اعتبارنامههای حساب آزمایشی برای ورود به سیستم سفارشی، کارهای زیر را انجام دهید:
در صفحه انتخاب ابعاد، گزینههای اضافی را انتخاب کنید.
در بخش اعتبارنامههای حساب آزمایشی (اختیاری)، نامهای منبع نام کاربری و گذرواژه و نام کاربری و گذرواژه حساب آزمایشی را وارد کنید.
ورودی نوشتار ازپیش تعریفشده
میتوانید نوشتار ورودی سفارشی برای فیلدهای نوشتاری دیگری که برنامهتان استفاده میکند ارائه دهید. برای ارائه نوشتار ورودی برای فیلدهای اضافی، کارهای زیر را انجام دهید:
در صفحه انتخاب ابعاد، گزینههای بیشتر را انتخاب کنید.
در بخش فیلدهای اضافی (اختیاری)، یک یا چند نام منبع و رشتههای موردنظر را برای وارد کردن در فیلدهای نوشتاری مربوطه وارد کنید.
خطاهای ورودی نوشتار ازپیش تعریفشده {:#predefined-text}
آزمایش Robo بهدنبال فیلدهای EditText با نام منبع Android میگردد که
با عبارت باقاعده ارائهشده مطابقت داشته باشد. اگر Robo نتواند فیلد منطبقی پیدا کند،
نوشتار شما را وارد نمیکند، اما درغیراینصورت به خزیدن خود طبق معمول ادامه میدهد.
پیوندهای عمیق
میتوانید حداکثر سه پیوند عمیق
پشتیبانیشده توسط برنامهتان را برای آزمایش ارائه دهید.
پیوندهای عمیق بهعنوان هدفهای Android
ACTION_VIEW
به برنامهتان صادر میشوند. بنابراین، هر پیوند باید با فیلتر هدف در برنامهتان مطابقت داشته باشد.
اگر یک یا چند پیوند عمیق ارائه شده باشد، برنامه ابتدا بهطور عادی (بااستفاده از هدف ACTION_MAIN) راهاندازی میشود و تا زمان اتمام مهلت مشخصشده خزیده میشود. پساز خزیدن اصلی، هر پیوند عمیق
بهمدت ۳۰ ثانیه دیگر خزیده میشود.
خطاهای پیوند عمیق
اگر «آزمایش Robo» نتواند فعالیتی منطبق با پیوند عمیق شما پیدا کند، Test Lab پیوند را نادیده میگیرد. مشکلات پیوند عمیق معمولاً نتیجه مغایرت بین پیوند عمیق ارائهشده و تعریف آن در برنامه شما است. هم نشانی وب ارائهشده و هم برنامهتان را ازنظر غلط املایی یا سایر ناهماهنگیها بررسی کنید.
پشتیبانی صدور پروانه برنامه
Test Lab از برنامههایی که از سرویس صدور پروانه برنامه ارائهشده توسط Google Play استفاده میکنند پشتیبانی میکند. برای بررسی موفقیتآمیز پروانه هنگام آزمایش برنامهتان با Test Lab، باید برنامهتان را در کانال تولید در «فروشگاه Play» منتشر کنید. برای آزمایش کردن برنامهتان در کانال آلفا یا بتا بااستفاده از Test Lab، قبلاز بارگذاری برنامهتان در Test Lab، بررسی پروانه را بردارید.
مراحل بعدی
- آزمایشهایتان را بااستفاده از Robo scripts سفارشیسازی کنید.