问题标签 [android-tradefederation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
652 浏览

android - 如何构建 Trade Federation 测试用例

我能够编译和执行位于内部的 Trade Federation 测试用例/tools/tradefederation/core/tests。但是我怎样才能执行位于我的项目中的测试用例呢?我的单元和仪器测试用例位于/vendor/xyz/packages/apps/MyApp/test文件夹内。如何在此文件夹中构建 Trade Federation 并运行我的测试用例?对此的任何帮助表示赞赏。

0 投票
1 回答
8706 浏览

android - 运行 CTS 和 VTS 测试计划的正确命令是什么?

我即将为我们的 AOSP 设置 VTS 和 CTS 测试。两个测试套件都使用 Trade Federation 测试框架。令我困惑的是如何运行不同的测试计划。

根据 VTS 的文档 ( https://source.android.com/compatibility/vts/systems ),必须决定运行哪个测试计划。然后使用运行命令对其进行测试。

例如,如果我想运行默认的 VTS 测试计划,我会使用它。

这将对连接的设备启动一些测试。

接下来,在启动 CTS 测试时,我希望调用相应的函数,或者看起来是什么。通过以下说明,我希望使用名为“cts”的测试计划运行 CTS 测试。

这似乎工作正常,测试似乎开始了。但后来我在 CTS 的手册 ( https://source.android.com/compatibility/cts/run ) 中读到 cts 应执行为run cts --plan <test-plan>. 他们给出了run cts --plan CTS下面的例子来运行默认的 cts 计划。

通过附加以下命令启动默认测试计划(包含所有测试包): run cts --plan CTS 。这将启动兼容性所需的所有 CTS 测试。

对于 CTS v1(Android 6.0 及更早版本),输入 list plan 以查看存储库中的测试计划列表,或输入 list packages 以查看存储库中的测试包列表。对于 CTS v2(Android 7.0 及更高版本),输入 list modules 以查看测试模块列表。

或者,使用以下命令从命令行运行您选择的 CTS 计划:cts-tradefed run cts --plan

在测试时,它似乎也可以工作。两个想法让我想知道。首先,示例中的测试计划用大写字母表示,即“CTS”而不是“cts”。其次,运行命令在这里的工作方式似乎完全不同。对我来说,run-command 是一个内置的 tradefed 命令是有道理的,它的参数应该是测试计划的名称。tradefed 本身也证实了这一点。

VTS 帮助:

CTS 帮助:

解释几乎相同。run cts因此,与并分别运行实际上是有意义的run vts。这只是一个愚蠢的问题,我完全错了吗?由于这些测试对我们的兼容性很重要,我希望确保它们以正确的方式运行。

0 投票
1 回答
391 浏览

cts - 运行 cts-tradefed 时出错 [适用于 android 机顶盒]

对于 google 认证,我们需要在 android 设备(stb)上运行兼容性测试套件。我已经在 Linux 机器上完成了 CTS 的设置。在机器上运行 cts-tradefed 时出现错误。

最大堆大小无效:-Xmx4g

指定的大小超过了最大可表示大小。

错误:无法创建 Java 虚拟机。

错误:发生了致命异常。程序将会退出。

谁能给出解决方案?

0 投票
0 回答
110 浏览

cts - 通过 CI 工具实现 CTS Android 自动化

我正在尝试通过以下命令执行 android CTS: ./cts-tradefed run cts --shards ${no_of_devices}

当我从终端执行一个普通的 shell 命令时,它会检测所有连接的设备并使用所有连接的设备并行执行测试套件来执行测试。当我尝试从 Java 代码(本地)或 CI 服务器调用这个 shell 命令时;它检测所有设备,但在 (no_of_devices -1) 上执行测试。被忽略的设备始终是列表中的第一个设备。确认设备本身没有问题,因为如果同一设备不是设备列表中的第一个,则该设备将用于执行测试。

我的 shell 脚本如下所示:

我用来执行 shell 脚本的 java 代码是这样的:

0 投票
1 回答
944 浏览

android - Google STS TradeFed 失败并出现错误:无法运行命令:com.android.tradefed.config.ConfigurationException:找不到本地配置 sts

这与 Google STS 有关。与 CTS 和 VTS 类似,Google Trade Federation 工具用于运行这些测试。run sts但是,与 CTS 和 VTS 不同的是,调用命令时 STS 套件会失败:

关于它所期望的“本地配置”没有任何线索。一些谷歌搜索让我明白了这一点: https ://android.googlesource.com/platform/tools/tradefederation/+/master/src/com/android/tradefed/config/ConfigurationFactory.java#346

有谁知道这里有什么问题?

谢谢。