חבילת בדיקת התקשורת של 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
#
(גרסאות בדיקה) לפקודה.