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

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

קבל את הקוד

הגרסה העדכנית ביותר של ACTS נמצאת במאגר של פרויקט הקוד הפתוח של Android (AOSP) ב-/platform/tools/test/connectivity/.

לפרטים על סנכרון הקוד, ראו הורדת המקור ו-Android Developer Codelab. כשמסנכרנים את הקוד, מסנכרנים את ההסתעפות הראשית. לא לסנכרן גרסת 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 מתפרסמות. תוכלו לקרוא מידע נוסף במאמר אינטגרציה רציפה (CI) עם Android. אפשר לשלוף קובצי ZIP מגרסת build באתר ci.android.com. מחפשים את היעד test_suites_x86_64.

    הקובץ acts_test.zip נמצא בכרטיסייה Artifacts. לצורך הדוגמה הזו, נניח שהורדתם את 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 (אופציונלי)

אם רוצים לקבל שליטה במכשיר על ידי המערכת, צריך לשדרג את המכשיר באמצעות build של userdebug.

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

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

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

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

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