ACTS 進階指南

本指南說明如何執行 Android Comms Test Suite (ACTS) 測試。

取得程式碼

如要查看 ACTS 的最新版本,請前往 Android 開放原始碼計畫 (AOSP) Gerrit 存放區的 /platform/tools/test/connectivity/

如要進一步瞭解如何同步處理程式碼,請參閱「下載來源」和 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. 取得 ACTS。

    發布版本。詳情請參閱「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」中的指示操作。