高级 ACTS 指南

本指南将介绍如何运行 Android 通讯测试套件 (ACTS) 测试。

获取代码

ACTS 的最新版本可在 Android 开源项目 (AOSP) Gerrit 代码库中的 /platform/tools/test/connectivity/ 下找到。

如需详细了解如何同步代码,请参阅下载源代码Android 开发者 Codelab。同步代码时,请同步 main 分支。请勿同步带有标记的 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 脚本会安装其余依赖项和 ACTS 本身,此脚本可在以下位置找到:<repo>/tools/test/connectivity/acts/framework

如需在 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。唯一需要执行的步骤就是修改用于从 <repo>/tools/test/connectivity/acts/framework 导入 ACTS 的 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 隔离开来,您应在虚拟环境中安装 ACTS。以下步骤假定,您有 ci.android.com 上的 aosp-main 中的 acts_test.zip,或者您有权直接访问源代码。

  1. 获取 ACTS。

    各 build 已发布。如需了解详情,请参阅 Android 持续集成。您可以从 ci.android.com 上的某个 build 中提取 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
    

    如果您有权直接访问此代码,则可以跳过 unzip 命令:

    cd /path/to/acts/framework
    python3 setup.py install
    
  5. 从任意位置运行 ACTS。

    act.py -c <config> ...
    
  6. 测试运行完毕后离开虚拟环境。

    deactivate
    

刷写 Android 设备(可选)

如果您想获取设备的系统特许控制权,请使用 userdebug build 刷写设备。

如需刷写设备,请使用 Android 刷写工具 (flash.android.com/)。如需了解更多详情,请参阅 Android 刷写工具的文档。

安装 SL4A(可选但推荐)

如果您使用的是搭载 userdebug build 的设备,您可以选择使用 SL4A 获取设备的系统特许控制权。如果您的测试不在设备上使用 SL4A,可以在 ACTS 配置中设置 skip_sl4a 标志以停用该功能。

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

如需获取 SL4A APK,请按照 Android 脚本层中的说明进行操作。