הרצת סקריפט של Robo (iOS ואילך)

במסמך הזה מוסבר איך להשתמש בסקריפטים של Robo. אלה בדיקות שמבצעות אוטומציה של משימות בקרת איכות ידניות לאפליקציות לנייד, ומאפשרות אסטרטגיות של אינטגרציה רציפה (CI) ובדיקות לפני השקה. לדוגמה, ניתן להשתמש בסקריפטים של Robo כדי לבדוק או לספק קלט של ממשק משתמש (UI) ספציפי, שם משתמש וסיסמה. סקריפטים Robo הם תכונה של Robo בדיקה.

סקריפטים Robo משתמשים בבדיקת Robo בתור מנוע הבדיקה. בצורתו הבסיסית ביותר, סקריפט Robo מורכב רצף של פעולות בממשק המשתמש, כמו הזנת הטקסט 'username' וגם לאחר מכן מקישים על הלחצן 'אישור'. סקריפטים Robo יכולים גם לכלול פעולות כמו המתנה שרכיב יופיע, מקישים על נקודה מסוימת בתוך רכיב ביצוע פקודות מעטפת של Android Debug Bridge (adb).

לסקריפטים Robo יש את היתרונות הבאים על פני מסגרות בדיקה מסורתיות:

יכולת תיאור
עמידים מאוד סקריפטים של רובוטים יכולים לסבול הבדלים מבניים והתנהגותיים משמעותיים בין גרסאות של אפליקציות לבין חוסר יציבות באפליקציות.
שאלה פתוחה לאחר השלמת סקריפט Robo, בדיקת Robo הבסיסית יכולה להשתלט על אפשר להמשיך לבדוק את האפליקציה. גישת הבדיקה המתמשכת הזו מאפשרת בכמה תרחישים מרכזיים לדוגמה. לדוגמה, אפשר להשתמש בסקריפט Robo כדי להביא אפליקציה למצב מסוים על ידי ביצוע תהליך כניסה מותאם אישית.
ניתנת להקלטה אין צורך לקודד סקריפטים של Robo באופן ידני. אפשר להקליט אותן באמצעות מקליט הסקריפטים Robo ב-Android Studio. יצירה או שינוי של Robo בדרך כלל לא נדרש ידע בפיתוח במכשירים ניידים.
גמיש סקריפטים Robo יכולים ליצור אינטראקציה עם רכיבי ממשק משתמש לא מותאמים שנפוצים משחקים.

סקריפטים Robo מופעלים באופן מותנה במהלך בדיקה Robo, וכך המשתמשים יכולים הרחבת ההתנהגות של Robo – בדרך כלל כדי להשיג כיסוי או יעד גדולים יותר פונקציונליות ספציפית. בניגוד למסגרות בדיקה מסורתיות, סקריפטים Robo תומכים ב:

  • תנאים שונים להפעלה, כמו שם של חבילה ספציפית של אפליקציה פעיל (או לא) או רכיב ספציפי שמוצג במסך (או לא).
  • פקדי ביצוע, לדוגמה, מספר מקסימלי של הפעלות, עדיפות בשלב הסריקה הרלוונטי.
  • סוגי פעולות לא קונבנציונליות (מותנה, התעלמות מרכיב, סגירת מסך).

אנחנו ממליצים להשתמש בסקריפטים של Robo כשאפשר, כי הם יכולים להיות ללא מאמץ. לדוגמה, תוכלו להשתמש בסקריפט Robo כדי לבצע הבאים:

  • כדאי לנווט בתהליכי העבודה המשמעותיים כדי להגיע לפונקציונליות העיקרית של האפליקציה. לדוגמה, אפשר לבצע כניסה ולהגדיר את מצב האפליקציה אחרי את ההשקה הראשונה, ורושמים משתמש חדש.
  • למקד את Robo בחלק מסוים באפליקציה כדי להפיק את המירב מהבדיקה של Robo בזמן האימון. סקריפט Robo מנחה את הבדיקה של Robo כדי להגיע לחלק הרלוונטי של האפליקציה, כאשר הבדיקה Robo ממשיכה סריקה אוטומטית לחלוטין.
  • להעביר אפליקציה למצב או למסך ספציפיים כדי לבצע ניתוח. לדוגמה, כדי לנתח הודעה באפליקציה, מדיניות פרטיות או שלב ספציפי במשחק.
  • ביצוע בדיקת אינסטרומנטציה מקצה לקצה, עם או בלי בדיקת Robo המשך סריקה אוטומטית לחלוטין לאחר השלמת הסקריפט Robo.

השתמשו בתכונות מתקדמות יותר של סקריפטים Robo כדי לבצע את הפעולות הבאות:

  • יש לבצע את הפעולות לפני ש-Robo יתחיל לסרוק את האפליקציה שנבדקה או לאחר הסריקה הסתיימה. לדוגמה, נקו את נתוני האפליקציה שנבדקה לפני לסרוק או לשנות את הגדרות המכשיר.
  • שינוי היבטים של התנהגות Robo במהלך סריקה, באופן ספציפי:
    • מגדירים ל-Robo להתעלם מחלק מהווידג'טים של ממשק המשתמש או ממסכי האפליקציות.
    • לספק פעולה מותאמת אישית ל-Robo לביצוע כשמפעילים גישוש נסוג (backtracking) מסך מסוים.
    • תגרום ל-Robo לבצע פעולות ספציפיות בכל פעם שמסך מסוים של אפליקציה במהלך סריקה.
  • התאמה אישית מלאה של האופן שבו Robo מבצע סריקה. לדוגמה, אפשר להשתמש בשילוב של פעולות מותנות ולא מותנות כדי להשאיר את האפליקציה שנבדקת ברקע לאורך הסריקה, תוך ביצוע פעולות מניפולציה במכשיר וסגירה של תיבות דו-שיח קופצות שיופיעו לאורך הדרך.

חשוב לזכור שסקריפטים של Robo לא מחליפים את כל סוגי הבדיקות. אתה עדיין תצטרכו בדיקות יחידה (unit testing) כדי לזהות באגים לוגיים ברמה נמוכה באפליקציה. הבדיקות האלה בדרך כלל לא נדרשות סביבה של Android או iOS. מומלץ לעיין לבדיקות סקריפטים Robo בבדיקות אינסטרומנטציה ממוקדות, טענות ספציפיות ומפורטות בנוגע ללוגיקה עסקית, המבוטאות בצורה הטובה ביותר בקוד.

השלבים הבאים