将 Trade Federation 与 Android 脚本层一起使用

Android 脚本层(即 SL4A)是一个自动化工具集,用于以独立于平台的方式调用 Android API。它既支持通过 adb 实现远程自动化,又支持通过一系列轻量级转换层从设备上执行脚本。

该项目位于 platform/external/sl4a

使用

您可以按照 SL4A README 手动构建并安装 SL4A。在通过 Tradefed 运行时,您可以利用一些自动化测试框架实用程序,使之更易于使用。

下载并安装

您可以首先查看 BT-discovery-sl4a.xml,这是一个使用两部设备的 Tradefed 配置示例。大多数设备 build 的 tests 文件夹中都有 SL4A.apk

上述 Tradefed 示例将自动获取相应版本,刷写这两部设备并在这两部设备上安装 SL4A.apk。您可以这样运行:

source build/envsetup.sh
lunch
make sl4a
tradefed.sh run google/example/BT-discovery-sl4a

或者,在构建后,运行以下命令:

./tradefed.sh run google/example/BT-discovery-sl4a

使用 SL4A 在 Tradefed 中编写测试

您可以按照上述测试样本 Sl4aBluetoothDiscovery.java 来编写。该样本给出了一个很好的例子,说明了在 Tradefed 测试中使用 SL4A 的流程。

SL4A API 文档

可以生成通过 SL4A 提供的回调的完整列表。从 SL4A 源目录 platform/external/sl4a/ 中,运行以下命令:

python Docs/generate_api_reference_md.py

在 Docs 目录中,将有一个 ApiReference.md 文件,其中包含 SL4A 中可用的 RPC 函数,以及这些 RPC 函数的文档。