Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

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

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

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

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

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

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

  3. העתק את cloudtestingscreenshotter_lib.aar והדבק אותו בתיקיית aars .

  4. בקובץ build.gradle ברמת השורש (ברמת הפרויקט) של build.gradle , הוסף הפניה לתיקיית ה- aars בכל גוש repositories :

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

    dependencies {
        // Cloud testing
        androidTestCompile (name:'cloudtestingscreenshotter_lib', ext:'aar')
        // Other dependencies go here
        }
    
  6. בקובץ AndroidManifest.xml שלך, ציין הרשאות מערכת לאפליקציה שלך על ידי הוספת השורות הבאות בתוך התג <manifest> . אם אתה בודק ב- Android 10 (API ברמה 29) ומעלה , WRITE_EXTERNAL_STORAGE את ההרשאה 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 Studio כדי להריץ את הבדיקה שלך, כאשר הבדיקה שלך תסתיים, תוכל להשוות בין צילומי מסך שצולמו במהלך הבדיקה על ידי בחירת אלמנט בעץ תוצאות הבדיקה ואז לחיצה על View Screenshotsצפה בצילומי מסך אוֹפְּצִיָה.

Screenshot comparison screen

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

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

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

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

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

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

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

אפשר תזמור

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

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

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

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

אפשר שריטה

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

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

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

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

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

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

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

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

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