בדיקות טלפוניה של ACTS

חבילת בדיקת התקשורת של Android (ACTS) מבצעת בדיקה אוטומטית של מקבצים של קישוריות, כמו Wi-Fi , Bluetooth שירותים סלולריים. כלי הבדיקה דורש adb ו-Python. הכלי נמצא בtools/test/connectivity/acts.

בדף הזה מוסבר איך להריץ את בדיקות הטלפוניה הבסיסיות הזמינות באזור פרויקט קוד פתוח של Android (AOSP) למשתמש עם שני טלפונים.

דרישות מוקדמות

כדי להריץ בדיקות טלפוניה של ACTS, נדרשת גישה למאגר מלא של Android ולהתקין גרסאות build של ניפוי באגים במכשירים שרוצים לבדוק.

הורדת מאגר של Android

פועלים לפי ההוראות ב להוריד את המקור כדי להוריד מאגר של Android במכונה שיש לה חיבור USB המכשירים שרוצים לבדוק.

  • AOSP הוא בסיס קוד עם מספר ג'יגה-בייט שממשיך להתפתח. שינוי של לזמני ההורדה.
    • אם למכונה יש הגבלת גודל, צריך להוסיף את --depth=1 אל repo init הפקודה.
  • כדי לקבל עדכונים עתידיים על הכלים של ACTS, יש לעבור לספריית השורש של Android:
    • שימוש ב-repo sync tools/test/connectivity
    • וגם repo sync external/sl4a

אימות גרסאות build של ניפוי באגים במכשירים

מתקינים גרסת Android לניפוי באגים ברמת המשתמש במכשירי הבדיקה.

  • יוצרים את המאגר לפי ההוראות לפתח גרסת Android.
  • הבהוב המכשיר כפי שמתואר ב להפעיל את המכשיר באמצעות Flash.
    • הפקודה adb shell getprop ro.build.type אמורה להחזיר userdebug.
    • אם ro.build.type לא זמין, גרסת build של ניפוי באגים מאפשרת להריץ את מעטפת adb ברמה הבסיסית (root) (טרמינל #).

יצירה והתקנה של SL4A

כדי ליצור ולהתקין שכבת סקריפטים ל-Android (SL4A), פועלים לפי ההוראות בשכבת הכתי��ה ב-Android. הקטע הוספת גרסאות build של SL4A לגרסאות Android Build כברירת מחדל הוא אופציונלי.

לאחר יצירת הסכם רמת השירות, הודעת היומן האחרונה מכילה ��ת המ��ק��ם של sl4a.apk. עליך להתקין אותו בכל המכשירים. כאן דוגמה הודעה ביומן:

Copy: out/target/path/to/sl4a.apk

הגדרת המכשירים לבדיקה

הגדרת המכשירים באמצעות דרישות ה-build/כלים הבאות של ACTS:

  • אם המפתחות של ספק ADB לא זמינים, מקישים על החלון הקופץ תן אמון במחשב זה. את ה-DUT כשמופיע. אם יש מפתחות של ספקי ADB:

    • המפתחות ומנהלי ההתקנים של ADB חייבים להיות ייחודיים ל-DUT.
    • כדי להפעיל תמיד את ניפוי הבאגים ב-USB, צריך להשתמש במפתחות הספק של ADB בעץ המקור יש להוסיף אל ~/.bashrc (או שווה ערך) באמצעות export ADB_VENDOR_KEYS=/path/to/directory/with/vendor/keys כאשר /path/to/directory הוא הנתיב המלא שלך מארח. לפתרון בעיות עם ADB, אפשר לעיין במאמר הפעלת אפליקציות במכשיר חומרה
  • אפשר לנפות באגים ב-USB: כשמתקינים מנהלי התקנים של adb, מכשירי adb עשויים להפעיל בקשה במכשיר לניפוי באגים ב-USB.

  • התקנת sl4a.apk באמצעות $ adb install -r <ANDROID_ROOT>/path/to/sl4a.apk

  • צריך לוודא שהטלפון משתמש בחיבור USB 2.0 לשרת הבדיקה.

  • הבדיקות המהירות תלויות ברשתות סלולריות, לכן חשוב להכניס כרטיסי SIM לטלפונים להשאיר את הטלפונים באזור שבו יש שירות סלולרי טוב.

  • מוסיפים את כל כרטיסי ה-SIM לקובץ JSON כפי שמתואר ב כותבים קובץ תצורה.

הגדרת הסביבה

לפני הגדרת הסביבה, צריך לוודא ש-Python 3.4+ מותקן.

הפעלה:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo pip3 install --upgrade pip setuptools
sudo apt-get install protobuf-compiler

התקנת ACTS

הפעלה:

cd <ANDROID_ROOT>/tools/test/connectivity/acts/framework/
sudo python3 setup.py develop
cd -

כדי לאמת את ההתקנה, מריצים את הפקודה act.py -h, שמדפיסה רשימה של פקודות.

כתיבת קובץ תצורה

כדי להריץ בדיקות, עליך ליצור קובץ עם פרטי תצורה. הנה לדוגמה: .config. יש קובץ דומה זמין במאגר של Android מתחת ל-tools/test/connectivity/acts/framework/sample_config.json. החלפה XXXXXXX במספרים הסידוריים של המכשיר כדי לספק את המידע המינימלי ל-ACTS נדרשת הרצה של בדיקת טלפוניה.

{
  "_description": "Minimum Telephony Config",
  "testbed":
  [
      {
          "_description": "A testbed listing two AndroidDevices for adb.",
          "name": "ExampleTestBed",
          "AndroidDevice": [{"serial": "XXXXXXX", "adb_logcat_param": "-b all"},
                            {"serial": "XXXXXXX", "adb_logcat_param": "-b all"}]
      }
  ],
  "logpath": "/path/to/logs",
  "testpaths": "/path/to/android/repo/tools/test/connectivity",
  "sim_conf_file": "/path/to/simcard_list.json"
}

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

מפתח ערך
_description מגיבים על התוכן של קובץ התצורה כולו
testbed מפרט סביבה שבה ניתן להריץ בדיקות
(נבדק) _description יש להגיב על כל בדיקת בדיקה, כי ACTS יכול לטרגט לבדיקות בדיקה ספציפיות
(נבדק) name שם ה-בדיקה לקריאה משורת הפקודה
(נבדק) AndroidDevice רשימת מכשירים ספציפיים שאליהם הבדיקה מטרגטת
הערה: אפשר לרשום כמה מכשירים. בדיקה שמופעלת לטלפונים שמתקשרים אחד לשני, מצפים שיהיו שני מכשירים אבל הם ייכשלו הם פחות. אם מופיעים שני מכשירים והבדיקה מצפה רק למכשיר אחד, מתבצעת בדיקה במכשיר הראשון.
(testbed)(AndroidDevice) serial המספר הסידורי של המכשיר (הודפס מ-adb devices)
(testbed)(AndroidDevice) adb_logcat_param פרמטרים שמועברים כשמתבצעת קריאה אל adb logcat במהלך בדיקה
logpath המיקום בשרת הבדיקה שבו שמורים היומנים
testpaths מיקום קוד מקרי הבדיקה
sim_conf_file המיקום של הקובץ .json שכולל את כרטיסי ה-SIM הזמינים כרטיסים
הרשימה של כרטיסי ה-SIM כוללת את המזהה של הכרטיס, היכולות שלו. מפעיל ומספר טלפון.
{
    "sim-card-ID-here": {
        "capability": [
            "voice",
            "ims",
            "volte",
            "vt",
            "sms",
            "tethering",
            "data"
        ],
        "operator": "tmo",
        "phone_num": "12345678901"
    },
...
}

אפשר לשלוף את מספר הטלפון מהמכשיר בקטע מערכת > מידע על הטלפון. המזהה של כרטיס ה-SIM מודפס בדרך כלל על כרטיס ה-SIM, או זמין אצל המכשיר בקטע מערכת > מידע על הטלפון > הסטטוס של כרטיס ה-SIM. מחרוזת האופרטור היא מוגדר ב- tools/test/connectivity/acts_tests/acts_contrib/test_utils/tel/tel_defines.py, ואז לחפש את CARRIER_.

אפשרויות הגדרה נוספות

הקובץ entries.py שנמצא ב- tools/test/connectivity/acts/framework/acts/config/entries.py ב-Android למאגר יש הגדרות לאפשרויות עיקריות של שורת הפקודה.

אפשר גם למצוא בקוד פרמטרים ספציפיים לבדיקה self.user_params.get

הרצת בדיקות

מריצים בדיקות משורת הפקודה לאחר כתיבת קובץ התצורה. בזמן קיימות אפשרויות רבות, והפשוטה ביותר היא להשתמש ב--c filename.config -tc TestCase:name. בדוגמה הזו נעשה שימוש בקובץ תצורה בשם minimum.config:

act.py -c minimum.config -tc TelLiveVoiceTest:test_call_mo_voice_general

הרצת בדיקה מוצלחת צריכה לכלול הודעת פלט סופית כמו זו:

INFO Summary for test run ExampleTestBed@yyyy-mm-dd_15-23-43-614: Requested 1,
Executed 1, Passed 1, Failed 0, Skipped 0, Error 0

הרצת מספר בדיקות

כדי להריץ מקרי בדיקה ספציפיים בכמה קבצים, צריך ליצור קובץ בדיקה ולהעביר אותו עם הדגל -tf , כפי שמוצג בחבילת בדיקות הרגרסיה לדוגמה:

TelLiveVoiceTest:
test_call_mo_voice_general,
test_call_volte_to_volte,
test_call_3g_to_3g

TelLiveDataTest:
test_airplane_mode,
test_4g,
test_3g

TelLiveSmsTest:
test_sms_mo_4g,
test_sms_mt_4g,
test_sms_mo_3g,
test_sms_mt_3g,
test_mms_mo_4g,
test_mms_mt_4g

הפקודה לדוגמה הזו מבוססת על ההנחה ששם הקובץ הוא regression_suite.

act.py -c minimum.config -tf regression_suite

הרצת בדיקות מספר פעמים

כדי להריץ מקרה בדיקה (-tc) או קובץ בדיקה (-tf) כמה פעמים, צריך להוסיף את -ti # (גרסאות בדיקה) לפקודה.