将 Trade Federation 与 Android 脚本层结合使用

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

该项目位于 platform/external/sl4a

使用

您可以按照 SL4A README 手动构建和安装它。当通过 Tradefed 运行时,您可以利用一些框架实用程序来简化使用。

下载并安装

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

上面的 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 使用的回调的完整列表。在 SL4A 源代码目录 platform/external/sl4a/ 中,运行此命令

python Docs/generate_api_reference_md.py

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