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