ACTS 進階指南

本指南說明如何執行 Android 通訊測試套件 (ACTS) 測試。

取得程式碼

您可以在 /platform/tools/test/connectivity/ 的 Android 開放原始碼計畫 (AOSP)Gerrit 存放區中找到最新版 ACTS。

如要進一步瞭解如何同步處理程式碼,請參閱「下載原始碼」和「Android 開發人員程式碼研究室」。同步處理程式碼時,請同步處理主要分支版本。不同步處理標記版本。

請注意,下載 ACTS 時,您不需要同步處理整個 Android 存放區。如果只要同步處理 ACTS,請在執行 repo init 指令後執行下列指令:

repo sync platform/tools/test/connectivity

你可以在「<repo>/tools/test/connectivity/acts/」下方找到 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

<repo>/tools/test/connectivity/acts/framework 中的 setup.py 指令碼會安裝其餘依附元件和 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,並在 Python 中匯入 ACTS 模組。舉例來說:

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。唯一需要執行的步驟是修改要從 <repo>/tools/test/connectivity/acts/framework 匯入的 Python 路徑。執行 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。下列步驟假設您具備 ci.android.com 上的 aosp-mainacts_test.zip,或是已直接存取來源。

  1. 取得空調、

    已發布版本。詳情請參閱「Android 持續整合」。您可以從 ci.android.com 上的某個版本提取 ZIP 檔案。請尋找 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
    

刷新 Android 裝置 (選用)

如要取得裝置的系統特殊權限控制權,請使用 userdebug 版本刷新裝置。

如要刷新裝置,請使用 Android Flash Tool (flash.android.com/)。詳情請參閱 Android Flash Tool 中的說明文件。

安裝 SL4A (建議安裝)

如果您使用的裝置具有 userdebug 版本,您可以選擇透過 SL4A 取得裝置的系統權限。如果測試未在裝置上使用 SL4A,您可以在 ACTS 設定中設定 skip_sl4a 旗標來停用這項功能。

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

如要取得 SL4A APK,請按照「Scripting Layer for Android」中的指示操作。