הסוכן App Testing הוא סוכן ליצירה, לניהול ולביצוע של תרחישי בדיקה שמבוסס על Gemini ב-Firebase. אתם מגדירים את יעדי הבדיקה בשפה טבעית, והסוכן משתמש ב-AI כדי להבין את האפליקציה ולנווט בה, לדמות אינטראקציות של משתמשים ולספק תוצאות בדיקה מפורטות.
איך סוכן בדיקת האפליקציות משתמש בנתונים שלכם
סוכן בדיקת האפליקציות מסופק על ידי Gemini ב-Firebase והוא כפוף לאותם תנאים. במאמר איך Gemini ב-Firebase משתמש בנתונים שלכם יש מידע נוסף על האופן שבו Gemini ב-Firebase משתמש בנתונים שלכם.
לפני שמתחילים
אם עדיין לא עשיתם זאת, עליכם לרשום את האפליקציה ב-Firebase.
אם אתם לא משתמשים במוצרים אחרים של Firebase, אתם צריכים רק ליצור פרויקט ולרשום את האפליקציה. אתם לא צריכים להוסיף ערכות SDK לאפליקציה. עם זאת, אם תחליטו להשתמש במוצרים נוספים בעתיד, הקפידו לבצע את כל השלבים במאמר הוספת Firebase באמצעות מסוף Firebase.
יצירת תרחיש בדיקה
כדי להריץ בדיקות מבוססות-AI, סוכן בדיקת האפליקציות משתמש בתרחישי הבדיקה בשפה טבעית כדי לבצע בדיקות באפליקציה.
כל מקרה בדיקה מחולק לשלבים, שיבוצעו ברצף. השלבים מאפשרים לכם לחלק את מקרה הבדיקה לשלבים, שלכל אחד מהם יש טענת נכוֹנוּת (assertion) משלו. הסוכן יכול לבצע הרבה פעולות במהלך כל שלב.
יש שתי דרכים ליצור תרחיש בדיקה: באמצעות קובץ YAML או באמצעות מסוף Firebase. קובצי YAML מאפשרים לכם לנהל את תרחישי הבדיקה בעצמכם, בדרך כלל במאגר קוד מקור עם ניהול גרסאות. לחלופין, אפשר לאחסן את תרחישי הבדיקה מרחוק במסוף Firebase יחד עם הנתונים של App Distribution.
שימוש בקובצי YAML
בדוגמה הבאה מוצג קובץ YAML שמגדיר שני תרחישי בדיקה:
tests:
- displayName: Login as guest
id: login-as-guest
steps:
- goal: Log in as a guest
finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
prerequisiteTestCaseId: login-as-guest
steps:
- goal: Open the article on "Bob Dylan"
hint: Use the search function to find it
finalScreenAssertion: >-
The article is opened and the title "Bob Dylan" is visible.
- goal: Find Bob Dylan's birthday in the article
hint: >-
Look for the "Born" section in the infobox on the right side of the page.
finalScreenAssertion: >-
The text "May 24, 1941" is visible on the screen.
אפשר לארגן קבוצות של בדיקות בקובץ אחד, ולהפריד את חבילות הבדיקות האלה לכמה קבצים. כדי להוסיף מקרה בדיקה כתנאי מוקדם, מוסיפים מזהה לבדיקה ואז מפנים למזהה הזה באמצעות prerequisiteTestCaseId.
שימוש במסוף App Distribution
אפשר גם ליצור ולנהל את תרחישי הבדיקה במסוף Firebase. כדי ליצור תרחיש בדיקה, פותחים את הדף App Distribution של Firebaseהמסוף ופועלים לפי השלבים הבאים:
- בכרטיסייה תרחישי בדיקה, לוחצים על תרחיש בדיקה חדש. אם אתם לא רוצים ליצור תרחיש בדיקה משלכם, אתם יכולים לשנות את תרחיש הבדיקה לדוגמה שסיפקנו או להשתמש בו.
- בתיבת הדו-שיח הוספת תרחיש בדיקה, נותנים שם לתרחיש הבדיקה. הערך הזה משמש לזיהוי הבדיקה, אבל הסוכן מתעלם ממנו.
- (אופציונלי) בוחרים מקרה בדיקה של דרישה מוקדמת שמכיל שלבי הגדרה להפעלה לפני הבדיקה הראשית. אם בדיקת הדרישות המוקדמות נכשלת, כל הבדיקה מסומנת ככישלון. השלבים והתוצאות של הבדיקות המקדימות והבדיקות העיקריות יוצגו יחד בתוצאות הבדיקה.
- כדאי לפצל את הבדיקה לכמה שלבים. לשם כך, לוחצים על הלחצן הוספת שלב נוסף.
- בכל שלב צריך להגדיר מטרה שמתארת מה סוכן בדיקת האפליקציות צריך לעשות במהלך השלב הזה.
- (אופציונלי) מוסיפים הצעה כדי לספק מידע נוסף שיעזור לסוכן לבדיקת האפליקציה להבין את האפליקציה ולנווט בה במהלך השלב הזה.
- מוסיפים Final screen assertion כדי לעזור לסוכן לבדיקת האפליקציה לקבוע מתי השלב הושלם בהצלחה. הטענה הזו צריכה להתייחס רק למה שמוצג במסך.
- כשמסיימים להתאים אישית את הבדיקה, לוחצים על שמירה.
מקרה בדיקה לדוגמה
בדוגמה הבאה אפשר לראות איך ליצור תרחיש בדיקה באמצעות סוכן בדיקת האפליקציות:
כותרת הבדיקה |
טעינות דף הבית |
מטרה |
טעינת דף הבית |
רמז |
מדלגים על מסכי ההצטרפות. סוגרים את כל החלונות הקופצים. לא נכנסים לחשבון. |
הצהרה על מסך סופי |
מסך הבית הראשי של האפליקציה גלוי, כל התמונות נטענו ולא מוצגות שגיאות. |
הרצת בדיקה
אופן ההרצה של הבדיקות תלוי באופן שבו אתם יוצרים ומנהלים את תרחישי הבדיקה. אם מגדירים תרחישי בדיקה באמצעות קובצי YAML, מריצים את הבדיקות האלה באמצעות Firebase CLI. אם יוצרים את תרחישי הבדיקה במסוף הפצת אפליקציות, מריצים אותם מהמסוף או באמצעות אחד מכלי ה-CLI של הפצת אפליקציות.
שימוש בקובצי YAML
אפשר להריץ תרחישי בדיקה שמוגדרים בקובצי YAML באמצעות Firebase CLI.
- מתקינים או מעדכנים את הגרסה האחרונה של Firebase CLI. מומלץ להוריד את הקובץ הבינארי העצמאי של ה-CLI שמתאים למערכת ההפעלה שלכם.
- נכנסים לחשבון ובודקים שיש לכם גישה לפרויקטים. שימו לב: אם אתם משתמשים ב-Firebase CLI בסביבת CI, אתם יכולים גם לבצע אימות באמצעות חשבון שירות או באמצעות login:ci.
מריצים את הפקודה
apptesting:execute. לדוגמה:firebase apptesting:execute \ --app=1:1234567890:android:0a1b2c3d4e5f67890 \ --test-dir=./mytests \ ./app/build/outputs/apk/debug/app-debug.apk
| apptesting:execute [options] [/path/to/app/binary] | |
|---|---|
--app
|
חובה: מזהה האפליקציה ב-Firebase. אפשר למצוא את מזהה האפליקציה במסוף Firebase, בדף הגדרות כלליות.
|
--test-dir
|
הנתיב לספרייה שמכילה קובצי YAML של תרחישי בדיקה. הפקודה תבצע חיפוש רקורסיבי בספרייה הזו, כך שאפשר לארגן את הקבצים בספריות משנה. אם לא מגדירים את המדיניות, המערכת תשתמש בערך './tests' כברירת מחדל. |
--test-devices או --test-devices-file
|
מכשירי הבדיקה שרוצים להפיץ אליהם את ה-builds של התכונה App Testing agent. אפשר לציין את המכשירים לבדיקה כרשימה של מכשירים לבדיקה שמופרדים באמצעות נקודה-ופסיק: --test-devices
"model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"
אפשר גם לציין את הנתיב לקובץ טקסט פשוט שמכיל רשימה של מכשירי בדיקה שמופרדים באמצעות נקודה-פסיק: --test-devices-file
"/path/to/test-devices.txt" אפשר לחפש את הדגמים הזמינים של המכשירים באמצעות gcloud CLI. |
--test-non-blocking
|
אם מוגדר, הפקודה תתחיל את הבדיקות ואז תחזור מיד במקום לחכות לסיום שלהן. |
--test-file-pattern
|
תבנית של ביטוי רגולרי. יופעלו רק בדיקות שנמצאות בקבצים שתואמים לתבנית הזו. |
--test-name-pattern
|
תבנית של ביטוי רגולרי. רק בדיקות עם שמות מוצגים שתואמים לתבנית הזו יופעלו. |
/path/to/app/binary
|
אופציונלי: הנתיב לקובץ הבינארי של האפליקציה. אם לא מציינים את הגרסה, הסוכן ישתמש בגרסה האחרונה שהועלתה אל App Distribution עבור האפליקציה שצוינה. |
שימוש במסוף App Distribution
כדי להריץ מקרי בדיקה שמאוחסנים ב-הפצת אפליקציות, אפשר להשתמש במסוף Firebase, ב-Firebase CLI או בתוספים Gradle או fastlane של App Distribution.
ייבוא וייצוא של תרחישי בדיקה באמצעות קובצי YAML
ייבוא של תרחישי בדיקה מקובצי YAML שימושי כשרוצים לנהל תרחישי בדיקה מחוץ למסוף Firebase. ייצוא של תרחישי בדיקה יכול להיות שימושי גם להעברה שלהם בין פרויקטים. אפשר להשתמש ב-LLM כדי לשפר תרחישי בדיקה קיימים או ליצור תרחישי בדיקה חדשים. אתם יכולים לייבא ולייצא תרחישי בדיקה מהדף Test Cases (תרחישי בדיקה) במסוף Firebase או באופן פרוגרמטי באמצעות Firebase CLI. דוגמה למקרה בדיקה ב-YAML מופיעה במאמר יצירת מקרה בדיקה ב-YAML.
צפייה בתוצאות הבדיקה
אפשר לראות את תוצאות הבדיקות בדף הפצות בכרטיסייה App Testing agent של הפצה. הכפתור הצגת פרטים יפתח את תיבת הדו-שיח 'תוצאות הבדיקה' ויציג בעיות, צילומי מסך של האפליקציה והפעולות ש-Gemini ביצע במהלך הבדיקה.
אם הבדיקה כוללת פעולות שהופעלו מחדש, אפשר לראות את ההרצה המקורית של הבדיקה בהנחיית AI או לנקות את המטמון.
כדי לקבל מידע נוסף על תוצאות הבדיקה, אפשר להיעזר בטבלה הבאה:
| סמל | שם | תיאור |
|---|---|---|
| spark | פעולת AI | מציין שהסוכן של בדיקת האפליקציה השתמש ב-Gemini כדי להחליט לבצע פעולה או לסיים את השלב. |
| השמעה חוזרת | הפעולה הופעלה מחדש | מציין שהסוכן של בדיקת האפליקציה הפעיל מחדש פעולה מהרצה קודמת מוצלחת של הבדיקה. |
| spark | הצהרת AI | מציין שהסוכן של App Testing השתמש ב-Gemini כדי לאמת טענה לגבי מסך סופי, אחרי הפעלה חוזרת של פעולות מהרצה קודמת מוצלחת של אותו מבחן. |
ניפוי באגים בתוצאות הבדיקה
אם תוצאות הבדיקה שונות מהצפוי, אפשר לנפות באגים בבדיקה באמצעות המתג הצגת תצוגת הסוכן בקטע הצגת פרטים בדף תוצאות הבדיקה. בתצוגת הנציג מוצגים הרכיבים במסך שהסוכן לבדיקת אפליקציות הצליח לזהות באמצעות מידע הנגישות של האפליקציה. אם רוצים לבדוק מקרוב את מה שהסוכן ראה, אפשר להוריד את המידע הזה מתפריט האפשרויות הנוספות של הפעולה.
אפשר גם להשתמש בכפתור הצגת ארטיפקטים בדף תוצאות הבדיקה כדי לראות את כל הסרטונים, היומנים וארטיפקטים אחרים ב-Cloud שקשורים לתוצאות הבדיקה.
בעיות ידועות ומגבלות
יש כמה מגבלות ידועות לגרסת הטרום-השקה של סוכן בדיקת האפליקציות:
- הסוכן של בדיקת האפליקציות משתמש ב-AI גנרטיבי כדי לבדוק את האפליקציה, ולכן לפעמים הוא יבצע פעולות שונות למרות שהוא פועל לפי אותן הוראות.
- הסוכן של App Testing תומך רק בפעולות הבאות: הקשה, הזנת טקסט, החלקה למעלה/למטה/ימינה/שמאלה, לחיצה ארוכה, גרירה ושחרור, חזרה והמתנה.
- לסוכן לבדיקת אפליקציות יש בעיה בהרצת בדיקות שמכילות רק שלב אחד שנדרשות בו הרבה פעולות. הוא מניב תוצאות טובות יותר כשמפרקים משימות מורכבות לכמה שלבים קצרים יותר.
- לפעמים, סוכן בדיקת האפליקציות לא יגלול כדי לחשוף אלמנטים אחרים שלא מוצגים במסך. זה קורה לעיתים קרובות יותר כשאין אינדיקציה ויזואלית לכך שאפשר לגלול. כפתרון זמני, אפשר להשתמש בשדה 'רמזים' כדי להציע גלילה.
- לפעמים לסוכן לבדיקת אפליקציות יש בעיה בספירה, למשל בביצוע פעולה מספר מסוים של פעמים.
- אם האפשרות
FLAG_SECUREמופעלת, סוכן בדיקת האפליקציה לא יכול לנווט באפליקציה. במקום צילומי מסך של האפליקציה, הוא יראה רק מסך ריק.
בדיקת מכסות
במהלך התצוגה המקדימה, הבדיקות המבוססות על AI יוצעו ללא עלות במסגרת מכסת שימוש מוגבלת. מגבלת ברירת המחדל היא 200 בדיקות בחודש לכל פרויקט ב-Firebase.
שימו לב: אם תבחרו להריץ כמה תרחישי בדיקה או להריץ את אותו תרחיש בדיקה בכמה מכשירים, זה ייחשב לכמה בדיקות. לדוגמה, אם מריצים 2 תרחישי בדיקה ב-2 מכשירים, זה נחשב כ-4 בדיקות בסך הכול.
כדי להגדיל את המכסה מעבר למגבלת ברירת המחדל, צריך לפנות אל התמיכה של Firebase ולציין את תרחיש השימוש.