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