Android Comms Test Suite (ACTS) מבצעת בדיקות אוטומטיות של ערימות קישוריות, כגון Wi-Fi, Bluetooth ושירותי סלולר. כלי הבדיקה דורש adb . ו-Python, וניתן למצוא אותו tools/test/connectivity/acts
.
דף זה מתאר כיצד להפעיל את מבחני הטלפוניה הבסיסיים הזמינים ב- Android Open Source Project (AOSP) עבור משתמש עם שני טלפונים.
דרישות מוקדמות
כדי להריץ מבחני טלפוניה של ACTS, צריכה להיות לך גישה למאגר אנדרואיד מלא ולהתקין בונה של userdebug על המכשירים שברצונך לבדוק.
הורדת מאגר אנדרואיד
עקוב אחר ההוראות בהורדת המקור כדי להוריד מאגר אנדרואיד במחשב בעל חיבור USB למכשירים שברצונך לבדוק.
- AOSP הוא בסיס קוד מרובה ג'יגה-בייט שממשיך לגדול. התאם את הציפיות שלך לזמני ההורדה בהתאם.
- אם מכונה מוגבלת בגודל, הוסף
--depth=1
לפקודהrepo init
.
- אם מכונה מוגבלת בגודל, הוסף
- כדי לקבל עדכונים עתידיים על כלי ACTS, עבור אל ספריית השורש של אנדרואיד:
- השתמש
repo sync tools/test/connectivity
- ו-
repo sync external/sl4a
- השתמש
אימות userdebug מבוסס על מכשירים
התקן גרסת userdebug של Android במכשירי הבדיקה שלך.
- בנה את המאגר באמצעות ההוראות בבניית אנדרואיד .
- הבזק את ההתקן כמתואר בהבהבת התקן .
- הפקודה
adb shell getprop ro.build.type
צריכה להחזירuserdebug
. - אם
ro.build.type
אינו זמין, בניית userdebug מאפשרת להפעיל את מעטפת ה-adb בתור root (טרמינל#
).
- הפקודה
בנייה והתקנה של SL4A
כדי לבנות ולהתקין Scripting Layer עבור Android (SL4A), עקוב אחר ההוראות בשכבת Scripting עבור Android . הסעיף הוספת Builds SL4A ל-Android Builds כברירת מחדל הוא אופציונלי.
לאחר בניית SLA4, הודעת היומן האחרונה מכילה את המיקום של קובץ sl4a.apk
, אותו עליך להתקין בכל המכשירים. הנה דוגמה להודעת יומן:
Copy: out/target/path/to/sl4a.apk
הגדרת התקנים לבדיקה
הגדר את ההתקנים באמצעות דרישות הבנייה/כלי 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
. קובץ דומה זמין במאגר אנדרואיד תחת 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
במאגר אנדרואיד יש הגדרות לאפשרויות התצורה העיקריות של שורת הפקודה.
אתה יכול גם למצוא פרמטרים ספציפיים לבדיקה בקוד על ידי חיפוש של 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 #
(איטרציות בדיקה) לפקודה.