מדריך מתקדם בנושא ACTS

זהו מדריך להרצת בדיקות של Android Comms Test Suite‏ (ACTS).

קבל את הקוד

הגרסה העדכנית ביותר של ACTS מופיעה במאגר Gerrit של Android Open Source Project‏ (AOSP) בכתובת /platform/tools/test/connectivity/.

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

חשוב לזכור: כשמורידים את ACTS, אין צורך לסנכרן את כל המאגר של Android. כדי לסנכרן רק ACTS, לאחר הרצת הפקודה repo init, מריצים את:

repo sync platform/tools/test/connectivity

אפשר למצוא את ACTS בקטע <repo>/tools/test/connectivity/acts/.

הגדרת הסביבה

כדי לוודא של-ACTS יש את יחסי התלות הנדרשים להגדרה, צריך להתקין את כלי ההגדרה הבאים של Python 3:

sudo apt-get install python3-setuptools
sudo apt-get install python3-pip
sudo apt-get install adb fastboot
sudo pip3 install --upgrade pip setuptools
# Needed due to an on-going bug.
sudo apt-get install protobuf-compiler

התקנת ACTS

הסקריפט setup.py שנמצא ב-<repo>/tools/test/connectivity/acts/framework מתקין את שאר יחסי התלות ואת ACTS עצמו.

כדי לפתח רציף ב-ACTS או בשילוב עם ACTS, מריצים את הפקודה הבאה:

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

אם רוצים להריץ רק בדיקות, אפשר להריץ את הפקודה הבאה:

cd <repo>/tools/test/connectivity/acts/framework/
sudo python3 setup.py install
cd -

אימות ההתקנה

אחרי ההגדרה, מוודאים שאפשר להשתמש ב-act.py בטרמינל ולייבא מודולים של ACTS ב-Python. לדוגמה:

act.py -h
usage: act.py [-h] -c <PATH> [--test_args Arg1 Arg2 ... ]
python3
>>> from acts.controllers import android_device
>>> device_list = android_device.get_all_instances()

הפעלה ללא התקנה

המשתמשים יכולים להפעיל את ACTS בלי להתקין את החבילה ישירות. השלב היחיד שצריך לבצע הוא לשנות את נתיב Python לייבוא מ-<repo>/tools/test/connectivity/acts/framework. לפני שמריצים את ACTS, מריצים את setup.py install_deps כדי להתקין את כל יחסי התלות הנדרשים ל-ACTS בלי להתקין את ACTS. אם יש במכונה גרסה קיימת של ACTS, מריצים את הפקודה sudo setup.py uninstall.

כדי להריץ את ACTS, משתמשים באחת מהפקודות הבאות:

  • cd <repo>/tools/test/connectivity/acts/framework; acts/bin/act.py
  • export PYTHONPATH=<repo>/tools/test/connectivity/acts/framework; acts/bin/act.py

ACTS מפיק הודעות עם בקשות לסימונים -c ו--tc. למידע נוסף, ראו הגדרת בדיקות ACTS.

הגדרת ACTS בסביבה וירטואלית

כדי לבודד את ההתקנה שלכם מהתקנות אחרות של ACTS, מומלץ להתקין את ACTS בסביבה וירטואלית. ההנחה בשלבים הבאים היא שיש לכם את acts_test.zip מ-aosp-main ב-ci.android.com או גישה ישירה למקור.

  1. קבלת ACTS.

    גרסאות build מתפרסמות. מידע נוסף זמין במאמר Android Continuous Integration. אפשר למשוך קובצי zip מ-build ב-ci.android.com. מחפשים את היעד test_suites_x86_64.

    הקובץ acts_test.zip נמצא בכרטיסייה Artifacts (פריטי מידע שנוצרו מפגישה ב-Meet). לצורך הדוגמה הזו, נניח שהורדתם את acts_test.zip אל /tmp/acts_test.zip.

    אם יש לכם גישה לקוד המקור, תוכלו להשתמש בו במקום זאת.

  2. מתקינים את virtualenv במחשב.

    אם עדיין לא התקנתם את האפליקציה, אפשר להתקין את virtualenv באמצעות:

    python3 -m pip install -U --user virtualenv
  3. יוצרים ומפעילים את הסביבה הווירטואלית (ב-/tmp/my_virtualenv בדוגמה הזו). כך מוודאים שהחבילות החדשות מותקנות בספרייה virtualenv.

    python3 -m virtualenv /tmp/my_virtualenv
    source /tmp/my_virtualenv/bin/activate
  4. מתקינים את ACTS. מריצים את הפקודה הבאה.

    unzip /tmp/acts_test.zip -d /tmp/my_virtualenv/acts
    cd /tmp/my_virtualenv/acts/tools/test/connectivity/acts/framework/
    python3 setup.py install

    אם יש לכם גישה ישירה לקוד, אפשר לדלג על חילוץ הקובץ:

    cd /path/to/acts/framework
    python3 setup.py install
  5. הרצת ACTS מכל מקום.

    act.py -c <config> ...
  6. בסיום הרצת הבדיקות, צריך לצאת מהסביבה הווירטואלית.

    deactivate

איך מבצעים איפוס (Flash) של מכשיר Android (אופציונלי)

כדי לקבל הרשאות מערכת לשלוט במכשיר, צריך לבצע איפוס (flash) של המכשיר באמצעות build של userdebug.

כדי לבצע את העדכון, משתמשים ב-Android Flash Tool (‎flash.android.com/). מידע נוסף זמין במסמכי העזרה של Android Flash Tool.

התקנת SL4A (אופציונלי, מומלץ)

אם אתם משתמשים במכשיר עם גרסה userdebug, תוכלו לקבל שליטה בהרשאות המערכת של המכשיר באמצעות SL4A. אם בבדיקה לא נעשה שימוש ב-SL4A במכשיר, אפשר להגדיר את הדגל skip_sl4a בתצורה של ACTS כדי להשבית את התכונה.

"AndroidDevice": [{"serial": "standardized serial number reference", "skip_sl4a": true}, ...]

כדי לקבל את קובץ ה-APK של SL4A, פועלים לפי ההוראות במאמר Scripting Layer for Android.