Android Comms Test Suite (ACTS) מבצע בדיקה אוטומטית של סטאקציות קישוריות, כמו Wi-Fi, Bluetooth ושירותים סלולריים. כלי הבדיקה מחייב שימוש ב-adb ו-Python. הכלי נמצא ב-tools/test/connectivity/acts
.
בדף הזה מוסבר איך להריץ את בדיקות הטלפוניה הבסיסיות שזמינות ב-Android Open Source Project (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 לניפוי באגים ברמת המשתמש במכשירי הבדיקה.
- יוצרים את המאגר לפי ההוראות במאמר Build 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 לא זמינים, מקישים על החלון הקופץ 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
|
מפרט סביבה שבה ניתן להריץ בדיקות |
(נבדק) _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
#
(גרסאות בדיקה) לפקודה.