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