اجرای یک اسکریپت Robo (iOS+)

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

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

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

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

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

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

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

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

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

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

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

مراحل بعدی