اجرای «متن Robo» (‏iOS+)

این سند نحوه استفاده از دستورات Robo را شرح می‌دهد که آزمایش‌هایی هستند که تکالیف تضمین کیفیت دستی را برای برنامه‌های تلفن همراه خودکارسازی می‌کنند و استراتژی‌های ادغام مداوم (CI) و آزمایش پیش‌راه‌اندازی را فعال می‌کنند. برای مثال، می‌توانید از Robo scripts برای آزمایش کردن مسیر کاربر رایج یا ارائه ورودی میانای کاربر (UI) خاص، مثل نام کاربری و گذرواژه، استفاده کنید. اسکریپت‌های Robo یکی از ویژگی‌های آزمایش Robo است.

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

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

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

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

  • شرایط راه‌اندازی مختلف، برای مثال، فعال بودن (یا نبودن) نام بسته برنامه خاص یا نمایش داده شدن (یا نشدن) عنصر خاصی در صفحه.
  • کنترل‌های اجرا، برای مثال، حداکثر تعداد اجرا، اولویت، مرحله خزش مربوطه.
  • انواع کنش‌های غیرمتعارف (شرطی، نادیده گرفتن عنصر، بستن صفحه).

توصیه می‌کنیم هرجا ممکن است از Robo scripts استفاده کنید چون به‌راحتی می‌توان از آن‌ها نگهداری کرد. برای مثال، می‌توانید از Robo script برای انجام کارهای زیر استفاده کنید:

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

از ویژگی‌های پیشرفته‌تر Robo script برای انجام کارهای زیر استفاده کنید:

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

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

مراحل بعدی