Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

تست Robo را اجرا کنید

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

Robo test یک ابزار تست است که با Firebase Test Lab یکپارچه شده است. تست Robo ساختار رابط کاربری (UI) برنامه شما را تجزیه و تحلیل می کند و سپس آن را به صورت روشمند بررسی می کند و به طور خودکار فعالیت های کاربر را شبیه سازی می کند. تست Robo زمانی که از آن برای آزمایش یک برنامه در پیکربندی دستگاه خاص با تنظیمات یکسان استفاده می‌کنید، همیشه همان فعالیت‌های کاربر را به همان ترتیب شبیه‌سازی می‌کند. این رویکرد آزمایشی تکرارپذیر به شما امکان می‌دهد از تست Robo برای اعتبارسنجی رفع اشکال و آزمایش رگرسیون استفاده کنید.

تست Robo فایل‌های گزارش را ضبط می‌کند، مجموعه‌ای از اسکرین‌شات‌های حاشیه‌نویسی را ذخیره می‌کند، و سپس یک ویدیو از آن اسکرین‌شات‌ها ایجاد می‌کند تا عملیات شبیه‌سازی‌شده کاربر را که انجام داده است به شما نشان دهد. این گزارش‌ها، اسکرین‌شات‌ها و ویدیوها می‌توانند به شما در تعیین علت اصلی خرابی برنامه کمک کنند. این ویژگی‌های تست Robo همچنین می‌تواند به شما در یافتن مشکلات رابط کاربری برنامه‌تان کمک کند.

علاوه بر اجرای تست‌های معمولی Robo، می‌توانید تست‌های خود را با استفاده از اسکریپت‌های Robo که یکی از ویژگی‌های تست‌های Robo هستند، سفارشی کنید. برای کسب اطلاعات بیشتر، به اجرای اسکریپت Robo مراجعه کنید.

آمار خزیدن تست Robo

برای کمک به تفسیر نتایج تست Robo خود، تست Robo آمار را در طول هر خزیدن تست ثبت می کند. Test Lab آمار را در بالای برگه تست Robo در صفحه نتایج آزمون شما نمایش می دهد:

  • اقدامات: تعداد کل اقدامات انجام شده در حین خزیدن، از جمله اقدامات اسکریپت Robo، اقدامات میمون و دستورات Robo.

  • فعالیت ها: تعداد فعالیت های متمایز تحت پوشش در طول خزیدن.

  • صفحه نمایش: تعداد صفحات متمایز بازدید شده در طول خزیدن.

آزمایشگاه تست همچنین از آمار برای ایجاد یک نمایش بصری از تست Robo در قالب یک نمودار خزیدن استفاده می کند. گراف دارای صفحه نمایش به عنوان گره و اقدامات به عنوان لبه است. با دنبال کردن لبه‌های بین صفحه‌ها، می‌توانید ایده‌ای درباره نحوه عبور تست Robo از برنامه شما در طول خزیدن داشته باشید.

تایم اوت تست Robo

بسته به پیچیدگی رابط کاربری برنامه شما، تست Robo ممکن است پنج دقیقه یا بیشتر طول بکشد تا مجموعه کاملی از تعاملات رابط کاربری را تکمیل کند. توصیه می کنیم مدت زمان تست را برای اکثر برنامه ها حداقل 120 ثانیه (2 دقیقه) و برای برنامه های نسبتاً پیچیده 300 ثانیه (5 دقیقه) تنظیم کنید. مقدار پیش‌فرض تایم اوت 300 ثانیه (5 دقیقه) برای آزمایش‌هایی است که از Android Studio و کنسول Firebase انجام می‌شوند و 900 ثانیه (15 دقیقه) برای آزمایش‌هایی که از خط فرمان gcloud اجرا می‌شوند.

خطاهای زمان راه‌اندازی برنامه

اگر شروع برنامه شما زمان زیادی طول بکشد، تست Robo می تواند خطا ایجاد کند و نمی تواند برنامه شما را بخزد. این فقط در مواردی که زمان راه‌اندازی بسیار طولانی باشد اتفاق می‌افتد و تنها با بازبینی برنامه برای شروع سریع‌تر آن قابل حل است.

کنترل بیشتر با اسکریپت های Robo

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

تست های Robo و ویجت های غیر اندروید UI

تست‌های Robo از API Android برای اجرای مستقیم ویجت‌های رابط کاربری Android استفاده می‌کنند. این به آزمایش‌ها کمک می‌کند UI شما را به‌طور خودکار بررسی کنند، اما همچنین به این معنی است که آنها باید بتوانند یک سلسله‌مراتب رابط کاربری اندروید را برای یک صفحه استخراج کنند تا آزمایش‌ها را روی آن اجرا کنند.

اگر صفحه‌ای در برنامه شما از ویجت‌های رابط کاربری Android استفاده نمی‌کند، تست‌های Robo برای آزمایش آن صفحه روی Monkey Actions بازمی‌گردد. برخلاف اقدامات روشمندتر تست Robo، Monkey Actions به سادگی رویدادهای ضربه زدن را در مکان های نیمه تصادفی روی صفحه نمایش دستگاه شبیه سازی می کند.

برای آزمایش بهتر صفحه‌هایی که از ویجت‌های رابط کاربری Android استفاده نمی‌کنند، می‌توانید ضربه‌های دلخواه یک Monkey Action را با مجموعه‌ای از ضربه‌ها و تعاملات اسکریپت‌شده از طریق آزمایش‌های حلقه بازی Firebase Test Lab جایگزین کنید.

ادغام با گوگل پلی

هنگام آپلود و انتشار فایل APK برنامه خود با استفاده از کانال آلفا یا بتا، می‌توانید از تست Robo در کنسول Google Play استفاده کنید. تست Robo روی مجموعه‌ای از دستگاه‌های فیزیکی محبوب از مکان‌های جغرافیایی مختلف اجرا می‌شود و پوشش آزمایشی را در فاکتورهای فرم و پیکربندی‌های سخت‌افزاری مختلف ارائه می‌کند. برای کسب اطلاعات بیشتر، به استفاده از گزارش‌های پیش از راه‌اندازی برای شناسایی مشکلات مراجعه کنید.

ورود به حساب کاربری و ورودی متن از پیش تعریف شده را آزمایش کنید

تست Robo از ورود به حساب کاربری آزمایشی پشتیبانی می کند و همچنین به شما امکان می دهد متن از پیش تعریف شده را در فیلدهای برنامه خود وارد کنید. برای ورود سفارشی به سیستم و سایر ورودی های متنی از پیش تعریف شده، تست Robo می تواند متن را در قسمت های EditText در برنامه شما وارد کند. برای هر رشته، باید فیلد EditText را با استفاده از نام منبع Android شناسایی کنید. برای کسب اطلاعات بیشتر، به دسترسی به منابع مراجعه کنید.

ورود

تست Robo دو روش انحصاری متقابل برای پشتیبانی از ورود به سیستم دارد:

  • ورود به سیستم سفارشی: اگر اعتبارنامه‌های حساب آزمایشی را ارائه می‌دهید، باید به تست Robo بگویید کجا آنها را وارد کند، و همچنین اعتبارنامه‌ها را ارائه کنید.

  • ورود به سیستم خودکار: اگر برنامه شما دارای صفحه ورود به سیستم است که از یک حساب Google برای احراز هویت استفاده می‌کند، تست Robo از یک حساب آزمایشی Google استفاده می‌کند، مگر اینکه اعتبار حساب آزمایشی را برای ورود به سیستم سفارشی ارائه کنید.

برای ارائه اعتبارنامه حساب آزمایشی برای ورود سفارشی، موارد زیر را انجام دهید:

  1. در صفحه انتخاب ابعاد ، گزینه های اضافی را انتخاب کنید.

  2. در قسمت اعتبارنامه حساب آزمایشی (اختیاری) ، نام کاربری و نام منابع رمز عبور و نام کاربری و رمز عبور حساب آزمایشی را وارد کنید.

ورودی متن از پیش تعریف شده

می توانید متن ورودی سفارشی را برای سایر فیلدهای نوشتاری مورد استفاده برنامه خود ارائه دهید. برای ارائه ورودی متن برای فیلدهای اضافی، موارد زیر را انجام دهید:

  1. در صفحه انتخاب ابعاد ، گزینه های اضافی را انتخاب کنید.

  2. در قسمت فیلدهای اضافی (اختیاری) ، یک یا چند نام منبع و رشته هایی را که باید وارد کنید در فیلدهای متنی مربوطه وارد کنید.

خطاهای ورودی متن از پیش تعریف شده

تست Robo فیلدهای EditText را با نام منبع Android که با عبارت منظم ارائه شده مطابقت دارد جستجو می کند. اگر Robo نتواند یک فیلد منطبق را پیدا کند، متن شما را وارد نمی‌کند، اما در غیر این صورت طبق معمول به خزیدن خود ادامه می‌دهد.

می توانید حداکثر سه پیوند عمیق را که توسط برنامه شما پشتیبانی می شود برای آزمایش ارائه دهید. پیوندهای عمیق به عنوان هدف Android ACTION_VIEW برای برنامه شما صادر می شوند. بنابراین، هر پیوند باید با یک فیلتر قصد در برنامه شما مطابقت داشته باشد.

اگر یک یا چند پیوند عمیق ارائه شود، برنامه ابتدا به طور عادی راه اندازی می شود (با استفاده از هدف ACTION_MAIN ) و تا زمان تعیین شده خزیده می شود. پس از خزیدن اصلی، هر پیوند عمیق به مدت 30 ثانیه دیگر خزیده می شود.

اگر تست Robo نتواند فعالیتی مطابق با پیوند عمیق شما پیدا کند، Test Lab پیوند را نادیده می گیرد. مشکلات پیوند عمیق معمولاً نتیجه اختلاف بین پیوند عمیق ارائه شده و تعریف آن در برنامه شما است. URL ارائه شده و برنامه خود را از نظر غلط املایی یا تناقضات دیگر بررسی کنید.

پشتیبانی از مجوز برنامه

Test Lab از برنامه هایی پشتیبانی می کند که از سرویس مجوز برنامه ارائه شده توسط Google Play استفاده می کنند. برای بررسی موفقیت آمیز مجوز هنگام آزمایش برنامه خود با Test Lab، باید برنامه خود را در کانال تولید در فروشگاه Play منتشر کنید. برای آزمایش برنامه خود در کانال آلفا یا بتا با استفاده از Test Lab، قبل از آپلود برنامه خود در Test Lab، بررسی مجوز را بردارید.

مشکلات شناخته شده

تست Robo در حال حاضر دارای محدودیت های شناخته شده زیر است:

  • پشتیبانی از چارچوب UI: تست Robo فقط با برنامه‌هایی سازگار است که از عناصر UI از چارچوب Android UI استفاده می‌کنند (از جمله اشیاء View و ViewGroup ، اما به استثنای اشیاء WebView ). اگر از تست Robo برای تمرین برنامه‌هایی که از چارچوب‌های رابط کاربری دیگر استفاده می‌کنند، از جمله برنامه‌هایی که از موتور بازی Unity استفاده می‌کنند، استفاده می‌کنید، ممکن است تست بدون کاوش در صفحه اول خارج شود.
  • کپچای ورود به سیستم: تست Robo نمی‌تواند صفحه‌های ورود به سیستمی را که نیاز به اقدام اضافی کاربر فراتر از وارد کردن اطلاعات کاربری برای ورود به سیستم دارند، به عنوان مثال تکمیل یک کپچا، دور بزند.

مراحل بعدی