הפעל סקריפט רובו (אנדרואיד)

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

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

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

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

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

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

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

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

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

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

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

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

הקלט סקריפט Robo באמצעות Test Lab ב-Android Studio

מקליט הסקריפטים של Robo ב-Android Studio מאפשר לך להקליט סקריפטים של Robo על ידי אינטראקציה ישירה עם האפליקציה במכשיר שלך. בצע את ההוראות הבאות כדי להתחיל עם Robo scripting באמצעות כלי Firebase ב-Android Studio:

  1. פתח את Android Studio ובחר כלים -> Firebase .

  2. בחלונית Firebase, לחץ על הקלט סקריפט רובו והשתמש בו כדי להדריך את בדיקת רובו .

  3. לחץ על הקלט סקריפט רובו . תיבת הדו-שיח בחר יעד פריסה מופיעה.

  4. בחר את המכשיר שבו תרצה להקליט את סקריפט הרובו.

  5. לאחר הקלטת סקריפט Robo במכשיר, שמור את הקובץ כקובץ JSON במיקום הרצוי.

  6. פתח את דף Test Lab במסוף Firebase והעלה את קובץ הסקריפט של JSON ואת ה-APK של האפליקציה.

  7. לחץ על כפתור המשך . אתה מתבקש לבחור את רמת ההתקן וה-API. לאחר השלמת סקריפט הבדיקה, מעבדת הבדיקה מפיקה את דוח הבדיקה.

  8. (אופציונלי) כדי להעתיק או להוריד את ה-logcat של דוח הבדיקה והסרטון, לחץ על הצג קבצי מקור .

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

הפעל סקריפט של רובו במעבדת בדיקות

כדי להפעיל סקריפט Robo ב-Test Lab, בצע את ההוראות הבאות:

  1. פתח את הדף Test Lab במסוף Firebase.

  2. העלה את ה-APK או AAB של האפליקציה בשדה App APK או AAB .

  3. העלה את קובץ הסקריפט Robo המוקלט או שנוצר באופן ידני בשדה Robo script (אופציונלי) .

ספק סקריפט של רובו להפעלת בדיקה מקומית של רובו

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

--robo-script-file <robo-script-path>

החלף <robo-script-path> בנתיב לקובץ הסקריפט של Robo במערכת הקבצים המקומית. עקוב אחר ההוראות להפעלת מבחן רובו מקומית .

ציין סקריפט Robo בהזמנת בדיקת gcloud CLI

כדי לציין סקריפט Robo בהזמנת בדיקת gcloud CLI, השתמש בדגל gcloud CLI הבא:

--robo-script = <robo-script-path>

החלף את <robo-script-path> בנתיב לקובץ הסקריפט Robo שלך במערכת הקבצים המקומית או ב-Cloud Storage באמצעות סימון gs:// . לדוגמה:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

הצעדים הבאים