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

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

اسکریپت‌های Robo از آزمایش Robo به‌عنوان موتور آزمایش استفاده می‌کنند. در ساده‌ترین شکل، یک Robo script شامل دنباله‌ای از کنش‌های میانای کاربر مانند وارد کردن نوشتار «نام کاربری» و سپس تک‌ضرب زدن روی دکمه «تأیید» است. اسکریپت‌های Robo همچنین می‌توانند شامل کنش‌هایی مانند انتظار برای ظاهر شدن یک عنصر، ضربه زدن روی یک نقطه خاص در یک عنصر، و اجرای دستورات پوسته «پل اشکال‌زدایی Android»‏ (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 را با آزمایش‌های ابزار دقیق هدفمند تکمیل کنید که می‌توانند ادعاهای خاص و دقیقی درباره منطق کسب‌وکار داشته باشند، که بهترین بیان آن در کد است.

مراحل بعدی