בדיקת אספקת התקנים

עבור מכשירים עם אנדרואיד 6 או אנדרואיד 7, אתה יכול לבדוק את הקצאת המכשירים באמצעות ה-Android Enterprise (AE) Test Harness, שהיא חבילת בדיקה לאימות התאימות הארגונית של מכשירי Android. הרתמה כוללת אפליקציות תמיכה, מקרי בדיקה, קבצי תצורה ורץ בדיקה ( afw-test-tradefed ) בנוי על cts-tradefed . לפני הגדרת רתמת בדיקת AE, הקפד להשלים את ההקצאה לניהול מכשיר .

עבור מכשירים שבהם פועל אנדרואיד 8 ומעלה, השימוש ברתמת בדיקת AE הוצא משימוש .

הקמת סביבת פיתוח

סביבת הפיתוח של ה-AE Test Harness דומה למערכת ההפעלה אנדרואיד. בצע את השלבים בדרישות כדי להגדיר מכונת פיתוח.

מוריד קוד מקור

הורד את קוד המקור של רתמת AE Test באמצעות השלבים בהורדת המקור . קוד המקור של רתמת הבדיקה של AE נמצא בפרויקט ./test/AfwTestHarness . שם הסניף קובע את הגרסה של AE Test Harness להורדה (לכל פלטפורמת אנדרואיד יש גרסה נפרדת של AE Test Harness). לדוגמה, שם הסניף עבור אנדרואיד 7.0 נוגט הוא afw-test-harness-nougat-dev . כדי לאתחל את ה-repo ולהוריד קוד מקור עבור ענף זה, השתמש בפקודות הבאות:

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
repo init -u https://android.googlesource.com/platform/manifest -b afw-test-harness-nougat-dev
repo sync -j24

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

שם הסניף פלטפורמת אנדרואיד נתמכת
afw-test-harness-nougat-dev אנדרואיד 7.0
afw-test-harness-2.1 אנדרואיד 7.0
afw-test-harness-marshmallow-dev אנדרואיד 6.0
afw-test-harness-1.5 אנדרואיד 6.0

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

צפייה באנדרואיד סטודיו

כדי להציג ולערוך את קוד המקור ב-Android Studio:

  1. הפעל את הפקודות הבאות
    make idegen
    development/tools/idegen/idegen.sh
    
  2. ב-Android Studio, פתח android.ipr .

קוד המקור AE Test Harness נמצא ב- test/AfwTestHarness .

הגדרת רתמת בדיקת AE

אתה יכול להתאים אישית את הרתמה על ידי הגדרת test/AfwTestHarness/afw-test.props . כדי להפעיל את הרתמה בהצלחה, בצע את השלבים הבאים:

  1. הגדר את רשת ה-Wi-Fi ב- afw-test.props עם המאפיינים הבאים:
    wifi_ssid
    wifi_password (optional)
    wifi_security_type (optional, available options are: NONE, WEP or WPA)
    
  2. השג לפחות חשבון אחד מדומיין המחויב ל-Test DPC כבקר מדיניות המכשיר שלו. ציין את הפרטים ב- afw-test.props עם המאפיינים הבאים:
    work_account_username
    work_account_password
    

    רתמת הבדיקה של AE משתמשת ב-Test DPC כדי לבדוק זרימות אספקה, כך שחשבונות חייבים להיקשר ל-Test DPC כדי להפעיל את רתמת הבדיקה.

בניית רתמת מבחן AE

אתחל את תצורת הבנייה באמצעות:

source build/envsetup.sh
lunch

בחר סוג מכשיר והקש Enter .

בנה את הרתמה באמצעות:

make afw-test-harness -j32

זה יוצר ספרייה ( out/host/linux-x86/afw-th/android-cts ) עם כל הקבצים הבינאריים, קבצי התצורה והכלים הדרושים להפעלת רתמת הבדיקה. ספריה זו מכווץ גם לקובץ ( out/host/linux-x86/afw-th/android-afw-test-harness.zip ) להפצה.

הפעלת רתמת מבחן AE

השתמש בשלבים הבאים כדי להפעיל את רתמת בדיקת AE:

  1. בסביבת הבנייה שלך, הפעל את רץ הבדיקה באמצעות:
    afw-test-tradefed
    
    זה מפעיל את קונסולת cts-tf , טוען תוכניות בדיקה, מקרי בדיקה ו- afw-test.props מ- out/host/linux-x86/afw-th/android-cts .
  2. מהתיקייה הפתוחה של android-afw-test-harness.zip , הפעל את רץ הבדיקה באמצעות:
    cts-tf> ./android‐cts/tools/afw-test‐tradefed
    
    זה טוען תוכניות בדיקה, מקרי בדיקה ו- afw-test.props android-cts . ודא של ./android‐cts/repository/testcases/afw-test.props יש את חשבון העבודה ואת תצורת ה-Wi-Fi.
  3. הפעל תוכנית בדיקה. כל תוכנית בדיקה היא קובץ XML המכיל קבוצה של חבילות בדיקה מספריית חבילות הבדיקה AfwTestHarness/tests . התוכניות הנפוצות כוללות:
    • afw-userdebug-build . מכיל את כל חבילות הבדיקה הדורשות בניית userdebug.
    • afw-user-build . פועל על מבנה משתמש אך מחייב את התקן הבדיקה להיות מוגדר כהלכה, כולל השלמת ההגדרה הראשונית והפעלת איתור באגים ב-USB.

    כדי להפעיל את תוכנית הבדיקה afw-userdebug-build , השתמש ב:
    cts-tf> run cts --plan afw-userdebug-build
    
    כדי לראות את כל תוכניות הבדיקה, השתמש list plans . כדי להציג את הגדרות התוכנית, עיין ב- out/host/linux-x86/afw-th/android-cts/repository/plans .
  4. הפעל חבילת בדיקה. כדי להפעיל חבילת בדיקה אחת, השתמש ב-
    cts-tf> run cts --package com.android.afwtest.NfcProvisioning
    
    כדי להציג את כל החבילות, השתמש list packages הפקודות . לאפשרויות נוספות, השתמש בפקודה run cts --help .

איתור באגים רתמת בדיקת AE

הפעל את כל הפקודות בקונסולת afw-test-tradefed ( cts-tf ), אותה תוכל להפעיל על ידי הפעלת afw-test-tradefed .

  • הצג מידע נוסף עם דגלי -l INFO או -l DEBUG . דוגמה:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG
    
  • הפעל את רתמת הבדיקה במכשיר ספציפי עם הדגל -s . דוגמה:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG -s device_sn
    
  • הפעל את רתמת הבדיקה בכל המכשירים המחוברים עם הדגל --all-devices . דוגמה:
    cts-tf> run cts ‐‐plan afw-userdebug-build -l DEBUG --all-devices
    
  • הצג פעולות הפעלה נוכחיות באמצעות list invocations או li .
  • הצג סיכום של ביצוע בדיקות קודמות באמצעות list results או lr .
  • הצג פקודות list אחרות באמצעות help list .
  • עקוב אחר logcat בזמן אמת עם מסנן באמצעות afwtest , ואז פתח מסוף אחר והתחל את logcat באמצעות: adb logcat | grep afwtest . לאחר סיום הבדיקה:
    • הצג out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time . יומן הרישום המלא של המכשיר ויומן המארח (יומנים afw-test-tradefed ) נשמרים בקובצי zip נפרדים.
    • מצא מידע רלוונטי על ידי חיפוש ב-logcat של המכשיר עבור afwtest . דוגמה: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /device_logcat_ random-number .zip | grep afwtest
    • לצפייה ביומן המלא של afw-test-tradefed, השתמש ב: zless out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time /host_log_ random-number .zip
  • חבילת בדיקה הופכת זרימת אספקה ​​ארגונית לאוטומטית על ידי מעבר על דפי ממשק משתמש ורישום יומן ניווט בקובץ logcat של המכשיר עבור כל עמוד. דוגמה: afwtest.AutomationDriver: Navigating:com.android.afwtest.uiautomator.pages.gms.AddAccountPage
    דפי ממשק המשתמש עבור חבילת הבדיקה com.android.afwtest.NfcProvisioning כוללים:
    • com.android.afwtest.uiautomator.pages.managedprovisioning.NfcProvisioningPage
    • com.android.afwtest.uiautomator.pages.PageSkipper
    • com.android.afwtest.uiautomator.pages.LandingPage
  • אם בדיקה נכשלה במהלך תהליך ההקצאה, logcat מכיל שגיאה דומה ל:
    TestRunner: java.lang.RuntimeException: Failed to load page: com.android.afwtest.uiautomator.pages.packageinstaller.DeviceAccessPage
    
    זה נגרמת בדרך כלל משגיאות בדף ממשק משתמש קודם או בדף שלא הצליח להיטען, אז נסה למצוא הודעות שגיאה אחרות ב-logcat לפני שגיאה זו , ולאחר מכן נסה לשחזר אותו באופן ידני בעקבות זרימת ההקצאה.
  • אם חבילת בדיקה נכשלת:
    • צילום מסך נשמר ב- out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time באמצעות התחביר הבא: screenshot-test_ test_class_full_name _ test_case_name - random_number .png . מידע זה נרשם גם ביומן המארח.
    • דוח באג נשמר ב- out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time בתור: bug- test_class_full_name _ test_case_name - random_number .zip .
  • לאחר ביצוע כל חבילות הבדיקה, צילום מסך נלקח ונשמר ב- out/host/linux-x86/afw-th/android-cts/repository/logs/ start-time as: screenshot- random_number .png . מידע זה נרשם גם ביומן המארח.

שאלות נפוצות

האם אני יכול להריץ את תוכנית הבדיקה afw-userdebug-build על מכשיר שהבהב עם בניית משתמש?

לא. חבילות בדיקה בתוכנית afw-userdebug-build את התקן הבדיקה לפני הפעלת זרימת הבדיקה בפועל ודורשות הפעלה אוטומטית של איתור באגים של adb . עם בניית משתמש, ניתן להפעיל איתור באגים של adb רק על ידי שינוי ידני של ההגדרה באפשרויות המפתחים.

האם אני יכול להריץ תוכנית בדיקה afw-user-build במכשיר עם הבזק של userdebug build?

כן, אבל אנו ממליצים להפעיל את תוכנית הבדיקה הזו על בניית משתמש.

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

הגדר את הגדרת timeout_size ב-. ./android-cts/repository/testcases/afw-test.props android-cts/repository/testcases/afw-test.props . הגדרות חוקיות הן: S, M, L, XL, XXL.

חבילת הבדיקה com.android.afwtest.NfcProvisioning (או SuwDoProvisioning ) נכשלת במכשיר שלי מכיוון שההגדרה הראשונית המותקנת מציגה ממשק משתמש מותאם אישית (כגון תנאים והגבלות) לאחר השלמת ההקצאה. איך אני יכול לדלג על ממשק משתמש מותאם אישית זה?

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

oem_widgets=your_btn
your_btn.text=your_customized_text
your_btn.package=your_package
your_btn.action=click

כדי להגדיר ווידג'טים מרובים, הפרד באמצעות פסיקים.

חבילת הבדיקה com.android.afwtest.NfcProvisioning (או SuwDoProvisioning ) נכשלה ומסך ממשק המשתמש האחרון הוא "אמת את החשבון שלך". מדוע זה קורה וכיצד אוכל לשחזר את מכשיר הבדיקה?

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

המכשיר שלי צריך יותר זמן לאיפוס להגדרות היצרן. האם אוכל להאריך את פסק הזמן לאיפוס היצרן?

כן. הגדר את ההגדרה factory_reset_timeout_min ב- afw-test.props . הגדרות חוקיות הן בדקות; אתה יכול להגדיר לכל מספר דקות שעובד עם המכשיר שלך.