התחל עם מבחני מכשור

מדריך זה מתאר כיצד להכין ולהריץ בדיקת מכשור באמצעות מעבדת הבדיקה של Firebase. כדי להשתמש במדריך זה, תזדקק בדיקת הכלים (שנכתב על ידך או על הצוות שלך) המשתמשת אספרסו או UI אוטומטור 2.0 מסגרות מבחן אנדרואיד. בדיקות Instrumentation יכול לרוץ עד 45 דקות בהתקנים פיזיים עד 60 דקות על התקנים וירטואליים .

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

שלב 1. (אופציונלי) הוסף את ספריית המסך לאפליקציה שלך

מעבדת הבדיקה מספקת ספריית צילום מסך המאפשרת לצלם צילומי מסך בעת הפעלת בדיקות מכשור באפליקציה שלך. עם סיום הבדיקה, תוכל להציג את צילומי המסך ב- Android Studio או במסוף Firebase.

הערה כי היכולת לצלם צילומי מסך כבר שולבו במבחן APK app-באגים-מבחן-unaligned.apk ואת אפליקציה לדוגמה פנקס רשימות. צילומי מסך גם מתועדים אוטומטי בעת הפעלת מבחן רובו .

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

  2. בתיבת הדו-שיח New Directory, הקלד מפיצים מורשים. זה יוצר ספריית מפיצים מורשה בשורש פרויקט הבדיקה שלך (כמו ספריית peer to תיקיית היישום).

  3. Cloudtestingscreenshotter_lib.aar העתק והדבק אותו לתוך תיקיית המפיצים המורשים.

  4. בשינה ברמת שורש (פרויקט ברמה) של האפליקציה שלך build.gradle קובץ, להוסיף התייחסות המפיצים המורשות תיקייה בכל repositories בלוק:

    repositories {
        jcenter()
        flatDir {
            dirs '../aars'
        }
    }
    ...
  5. בשנת הספרייה ברמה העליונה של מודול שלך (עבור היישום למשל פנקס הרשימות, זוהי ספריית האפליקציה), לפתוח את build.gradle הקובץ ולהוסיף תלות כדי cloudtestingscreenshotter_lib.aar אלי ברמה העליונה dependencies הבלוק:

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. בשינה שלך AndroidManifest.xml הקובץ, להגדיר הרשאות מערכת עבור האפליקציה שלך על ידי הוספת השורות הבאות בתוך <manifest> התג. אם הבדיקה נמצא 10 אנדרואיד (API ברמה 29) ומעלה, להשמיט את WRITE_EXTERNAL_STORAGE הרשות (האפליקציה שלך אינה דורשת הרשאה זו כדי לקרוא ולכתוב צילומי מסך למכשיר).

    <manifest ... >
       <!-- WRITE_EXTERNAL_STORAGE is not needed on Android 10 (API level 29) or higher. -->
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
       <uses-permission android:name="android.permission.INTERNET"/>
       ...
    </manifest>
    

בכל נקודת המבחן שלך שבו אתה רוצה לקחת צילום מסך, קוראים ScreenShotter.takeScreenshot שיטת מהספריה cloudtestingscreenshotter_lib, לאן הטיעון הראשון הוא תווית שבה אתה משתמש כדי לזהות את המסך ( main_screen_2 משמש בדוגמה הבאה):

ג'אווה

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */);

Kotlin + KTX

ScreenShotter.takeScreenshot("main_screen_2", this /* activity */)

צפו בצילומי המסך שלכם

אם אתה משתמש סטודיו Android להריץ בדיקה שלך, כאשר המבחן שלך מסיים את פעולתו, אתה יכול להשוות כל מסך נלקח במהלך הבדיקה על ידי בחירת אלמנט בעץ תוצאות הבדיקה ולאחר מכן לחיצה על תצוגת מסךצפו בצילומי מסך אוֹפְּצִיָה.

Screenshot comparison screen

ניתן לבחור ולהשוות צילומי מסך מתצורות שונות כדלקמן:

מְשִׁימָה פעולה
מעבר בין ביצועי בדיקות. השתמש בתפריט הנפתח בפינה השמאלית העליונה.

תפריט מקרה מבחן
מעבר בין צילומי מסך בתוך ביצוע בדיקה. השתמש בחצים בפינה השמאלית העליונה.

מחליף מסך
הוסף לוחות השוואת תמונות נוספים לתצוגה הנוכחית. לחץ להשוואה.

לְהַשְׁווֹת
בחר מימד בדיקה אחר (סוג מכשיר, כיוון, מקום וכו '). בחר חבר מימד חדש מהרשימה בתחתית צילום המסך.

שלב 2. אפשר תכונות בדיקה אופציונליות

באפשרותך להפעיל את התכונות הבאות במבחן שלך לפני שתריץ אותו באמצעות מעבדת הבדיקה:

אפשר תזמור

אנדרואיד מבחן Orchestrator הוא כלי שפועל כל בדיקות המכשור של האפליקציה שלך באופן עצמאי. מעבדת הבדיקה תמיד משתמשת בגרסה האחרונה של Orchestrator.

כדי לאפשר Orchestrator עבור מבחן מעבדה, ב התקנת בדיקת כלים, לחץ על אפשרויות נוספות> הפעלה עם Orchestrator.

יתרונות וחסרונות

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

אפשר שריטה

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

איך עובד גזירת הבדיקה

נגיד שאתה יוצר N רסיסים. עבור כל מכשיר שתבחר, Test Lab מסובב N מכשירים זהים ומריץ קבוצת משנה של הבדיקות בכל מכשיר. אמצעי זה כי מקרי מבחן sharded יכול לגרום להורג המבחן מרובים לכל מכשיר, בניגוד מקרי מבחן הלא sharded, אשר תמיד לגרום לביצוע בדיקה אחת לכל מכשיר (עבור סקירה מהירה של מושגים מרכזיים Lab Test, לראות מושגי מפתח ).

באפשרותך להפעיל שיתוף בדיקות במסוף Firebase:

  1. בשנת התקנת בדיקת כלים, לחץ על אפשרויות נוספות.

  2. במקטע Sharding, הזן את מספר הפיצולים שברצונך להפעיל.

חיוב עבור רסיסי בדיקה

Test Lab מיישמת השברים שלך על ידי מינוף מנגנון sharding המובנה של AndroidJUnitRunner. כדי להימנע מחיוב בגין סיבוב רסיסים ריקים (רסיסים ללא מקרי בדיקה שהוקצו), מספר הרסיסים שאתה יוצר צריך להיות פחות מהמספר הכולל של מקרי המבחן. תלוי כמה זמן לוקח לכל מקרה מבחן לרוץ, בדרך כלל מומלץ להקצות 2-10 מקרי בדיקה לרסיס.

לקבלת מידע נוסף על החיוב, לקרוא שימוש, מכסות, וחיוב .