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

این سند نحوه استفاده از اسکریپت‌های Robo را شرح می‌دهد، که آزمایش‌هایی هستند که وظایف QA دستی را برای برنامه‌های تلفن همراه خودکار می‌کنند و یکپارچه‌سازی مداوم (CI) و استراتژی‌های آزمایش پیش از راه‌اندازی را فعال می‌کنند. برای مثال، می‌توانید از اسکریپت‌های Robo برای آزمایش سفر مشترک کاربر یا ارائه ورودی رابط کاربری خاص (UI) مانند نام کاربری و رمز عبور استفاده کنید. اسکریپت های 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 را برای رسیدن به بخش مربوطه یک برنامه راهنمایی می کند، جایی که تست Robo یک خزیدن کاملاً خودکار را از سر می گیرد.
  • برای انجام تجزیه و تحلیل، یک برنامه را به یک وضعیت یا صفحه نمایش خاص بیاورید، به عنوان مثال، برای تجزیه و تحلیل یک پیام درون برنامه، خط مشی رازداری، یا سطح خاصی از یک بازی.
  • یک تست ابزار دقیق، با یا بدون تست Robo انجام دهید و پس از تکمیل اسکریپت Robo، خزیدن کاملاً خودکار را از سر بگیرید.

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

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

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

مراحل بعدی