Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

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

این سند نحوه استفاده از اسکریپت‌های Robo را شرح می‌دهد، که آزمایش‌هایی هستند که وظایف QA دستی را برای برنامه‌های تلفن همراه خودکار می‌کنند و یکپارچه‌سازی مداوم (CI) و استراتژی‌های آزمایش قبل از راه‌اندازی را فعال می‌کنند. برای مثال، می‌توانید از اسکریپت‌های Robo برای آزمایش سفر مشترک کاربر یا ارائه ورودی رابط کاربری خاص (UI) مانند نام کاربری و رمز عبور استفاده کنید. اسکریپت های Robo یکی از ویژگی های تست Robo هستند.

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

اسکریپت های Robo زمانی شروع می شوند که برنامه برای اولین بار با استفاده از تست Robo به عنوان موتور تست بارگیری می شود. در ابتدایی‌ترین شکل آن، یک اسکریپت Robo متشکل از دنباله‌ای از اقدامات رابط کاربری است، مانند وارد کردن متن «نام کاربری» و سپس ضربه زدن روی دکمه تأیید . اسکریپت‌های Robo همچنین می‌توانند شامل اقداماتی مانند انتظار برای ظاهر شدن یک عنصر، ضربه زدن روی یک نقطه خاص در یک عنصر، و اجرای دستورات پوسته Android Debug Bridge ( adb ) باشند.

اسکریپت های Robo دارای مزایای زیر نسبت به چارچوب های آزمایشی سنتی هستند:

قابلیت شرح
بسیار مقاوم اسکریپت‌های Robo می‌توانند تفاوت‌های ساختاری و رفتاری قابل‌توجهی بین نسخه‌های برنامه و پوسته پوسته شدن برنامه را تحمل کنند.
پایان باز پس از تکمیل اسکریپت Robo، تست پایه Robo می‌تواند برنامه را کنترل کند و به آزمایش آن ادامه دهد. این رویکرد آزمایش مداوم چندین مورد استفاده کلیدی را امکان پذیر می کند. برای مثال، می‌توانید از یک اسکریپت Robo برای آوردن یک برنامه به یک وضعیت خاص با انجام یک جریان ورود سفارشی استفاده کنید.
قابل ضبط شما نیازی به کدنویسی دستی اسکریپت های Robo ندارید. آنها را می توان با استفاده از ضبط کننده اسکریپت Robo در Android Studio ضبط کرد. ایجاد یا اصلاح اسکریپت های Robo معمولاً نیازی به دانش توسعه موبایل ندارد.
قابل انعطاف اسکریپت‌های Robo می‌توانند با عناصر UI غیر بومی که در بازی‌ها رایج هستند، تعامل داشته باشند.

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

  • برای رسیدن به هسته عملکرد یک برنامه، در جریان‌های کاری مهم پیمایش کنید. به عنوان مثال، می توانید یک ورود به سیستم انجام دهید، وضعیت یک برنامه را پس از اولین راه اندازی تنظیم کنید، و یک کاربر جدید ثبت کنید.
  • Robo را روی قسمت خاصی از یک برنامه متمرکز کنید تا از زمان تست Robo حداکثر استفاده را ببرید. Robo اسکریپت تست Robo را برای رسیدن به بخش مربوطه یک برنامه راهنمایی می کند، جایی که تست Robo یک خزیدن کاملاً خودکار را از سر می گیرد.
  • یک برنامه را به یک وضعیت یا صفحه نمایش خاص برای انجام تجزیه و تحلیل بیاورید، به عنوان مثال، برای تجزیه و تحلیل یک پیام درون برنامه، خط مشی رازداری یا سطح خاصی از یک بازی.
  • یک تست ابزار دقیق، با یا بدون تست Robo انجام دهید و پس از تکمیل اسکریپت Robo، خزیدن کاملاً خودکار را از سر بگیرید.

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

یک اسکریپت Robo را با استفاده از Test Lab در Android Studio ضبط کنید

ضبط کننده اسکریپت Robo در Android Studio به شما امکان می دهد اسکریپت های Robo را با تعامل مستقیم با برنامه موجود در دستگاه خود ضبط کنید. برای شروع کار با Robo اسکریپت از طریق ابزار Firebase در Android Studio این دستورالعمل ها را دنبال کنید:

  1. Android Studio را باز کنید و Tools -> Firebase را انتخاب کنید.

  2. در پنجره Firebase، روی Record Robo Script کلیک کنید و از آن برای هدایت تست Robo استفاده کنید .

  3. روی Record Robo script کلیک کنید. کادر گفتگوی Select Deployment Target ظاهر می شود.

  4. دستگاهی را که می خواهید اسکریپت Robo را در آن ضبط کنید انتخاب کنید.

  5. پس از اینکه اسکریپت Robo را در دستگاه ضبط کردید، فایل را به عنوان فایل JSON در محل مورد نظر ذخیره کنید.

  6. صفحه Test Lab را در کنسول Firebase باز کنید و فایل اسکریپت JSON و APK برنامه را آپلود کنید.

  7. روی دکمه Continue کلیک کنید. از شما خواسته می شود دستگاه و سطح API را انتخاب کنید. پس از تکمیل اسکریپت تست، Test Lab گزارش تست را تولید می کند.

  8. (اختیاری) برای کپی یا دانلود logcat گزارش آزمایش و ویدیو، روی مشاهده فایل‌های منبع کلیک کنید.

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

یک اسکریپت Robo را در آزمایشگاه تست اجرا کنید

برای اجرای اسکریپت Robo در Test Lab، این دستورالعمل ها را دنبال کنید:

  1. صفحه Test Lab را در کنسول Firebase باز کنید.

  2. APK یا AAB برنامه را در قسمت APK یا AAB برنامه آپلود کنید.

  3. فایل اسکریپت Robo ضبط شده یا ایجاد شده دستی خود را در قسمت Robo script (اختیاری) آپلود کنید.

یک اسکریپت Robo برای اجرای آزمایشی محلی Robo ارائه دهید

برای ارائه یک اسکریپت Robo برای اجرای آزمایشی محلی Robo، از گزینه تست Robo زیر استفاده کنید:

--robo-script-file <robo-script-path>

<robo-script-path> با یک مسیر به فایل اسکریپت Robo خود در سیستم فایل محلی جایگزین کنید. دستورالعمل‌های اجرای آزمایشی محلی Robo را دنبال کنید.

یک اسکریپت Robo را در فراخوانی آزمایشی Gcloud CLI مشخص کنید

برای تعیین یک اسکریپت Robo در فراخوانی آزمایشی gcloud CLI، از پرچم gcloud CLI زیر استفاده کنید:

--robo-script = <robo-script-path>

<robo-script-path> با یک مسیر به فایل اسکریپت Robo خود در سیستم فایل محلی یا در Cloud Storage با استفاده از نماد gs:// جایگزین کنید. مثلا:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

مراحل بعدی