با تست های Robo شروع کنید

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

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

آمار خزیدن تست روبو

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

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

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

تایم اوت تست روبو

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

خطاهای زمان شروع برنامه

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

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

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

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

شروع به اسکریپت نویسی Robo از طریق ابزار Firebase در Android Studio کنید:

  1. Android Studio را باز کنید.
  2. در منوی اصلی، ابزار را انتخاب کنید> فایربیس.
  3. تست آزمایشگاه انتخاب کنید و با کلیک بر روی ثبت فونز اسکریپت و استفاده از آن برای راهنمای تست فونز.
  4. بقیه مراحل موجود در ابزار را برای ضبط اسکریپت Robo خود دنبال کنید.
  5. آن Robo Script را در Test Lab بارگذاری کرده و آزمایش خود را آغاز کنید.

خطاهای اسکریپت Robo

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

آزمایشات Robo و ابزارک های UI غیر Android

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

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

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

ادغام با Google Play

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

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

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

ورود

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

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

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

  1. در صفحه بعد را انتخاب کنید، گزینه های اضافی را انتخاب نمایید.
  2. تحت اعتبار حساب تست (اختیاری)، را وارد کنید نام کاربری و رمز عبور منابع نام و نام کاربری و رمز عبور برای نام آزمون.

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

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

  1. در صفحه بعد را انتخاب کنید، گزینه های اضافی را انتخاب نمایید.
  2. در زیر زمینه های اضافی (اختیاری)، را وارد کنید یک یا چند نام منابع و رشته ها را وارد کنید در فیلدهای متنی مربوطه.

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

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

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

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

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

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

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

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

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

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