בדיקת אספקת מכשירים

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

עבור מכשירי Android 8 ומעלה, השימוש רתמה מבחן AE הוא מיושן.

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

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

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

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

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.ipr .

קוד המקור AE המבחן רתם הוא 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. השג לפחות חשבון אחד מדומיין המחויב לבדיקת DPC כבקר מדיניות המכשיר שלו. ציין את הפרטים afw-test.props עם המאפיינים הבאים:
    work_account_username
    work_account_password
    

    לרתום את מבחן AE שימוש בבדיקה DPC לתזרים הקצאת בדיקה, כך חשבונות חייבים להיקשר מבחן 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-מבחן-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 . Logcat המכשיר המלא יומן מארח ( 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-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
    דפי UI עבור מבחן החבילה 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
    
    זו נגרמת בדרך כלל על ידי שגיאות בדף UI קודם או דף נכשלת הטעינה, כך לנסות למצוא הודעות שגיאה אחרת 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 כמו: screenshot- random_number .png . מידע זה נרשם גם ביומן המארח.

שאלות נפוצות

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

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

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

כן, אך אנו ממליצים לך להריץ את תוכנית הבדיקה הזו במבנה משתמש.

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

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

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

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

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

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

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

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

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

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