CTS 测试结果放在以下文件中
CTS_ROOT/android-cts/results/start_time.zip
如果您自己构建了 CTS,则 CTS_ROOT 类似于 out/host/linux-x86/cts
,但因平台而异。这反映了您从此网站 下载的预构建官方 CTS 解压缩到的路径。
在压缩包内,test_result.xml 文件包含实际结果。
显示 Android 10 及更高版本的结果
zip 归档文件中存在 test_result.html 文件,您可以直接在任何兼容 HTML5 的 Web 浏览器中打开它
显示 Android 10 之前的版本的结果
在任何兼容 HTML5 的 Web 浏览器中打开 test_result.xml 文件以查看测试结果
如果使用 Chrome 浏览器时此文件显示空白页,请更改您的浏览器配置以启用 --allow-file-access-from-files
命令行标志。
读取测试结果
测试结果的详情取决于您使用的 CTS 版本
- 适用于 Android 6.0 及更早版本的 CTS v1
- 适用于 Android 7.0 及更高版本的 CTS v2
设备信息
在 CTS v1 及更早版本中,选择“设备信息”(“测试摘要”上方的链接)以查看有关设备、固件(制造商、型号、固件版本、平台)和设备硬件(屏幕分辨率、键盘、屏幕类型)的详细信息。CTS v2 不显示设备信息。
测试摘要
“测试摘要”部分提供已执行的测试计划详情,例如 CTS 计划名称以及执行开始和结束时间。它还提供了通过、失败、超时或无法执行的测试数量的汇总摘要。
Android 10 CTS 示例测试摘要
图 1:Android 10 CTS 示例测试摘要
CTS v2 示例测试摘要
图 2:CTS v2 示例测试摘要
CTS v1 示例测试摘要
图 3:CTS v1 示例测试摘要
测试报告
下一部分“CTS 测试报告”提供了每个软件包通过的测试摘要。
接下来是已执行的实际测试的详细信息。报告列出了测试包、测试套件、测试用例和已执行的测试。它显示了测试执行的结果,即通过、失败、超时或未执行。如果测试失败,则会提供详细信息以帮助诊断原因。
此外,XML 文件中提供了失败的堆栈轨迹,但未包含在报告中以确保简洁性 - 使用文本编辑器查看 XML 文件应提供测试失败的详细信息(搜索与失败的测试对应的 [Test] 标记,并在其中查找 [StackTrace] 标记)。
显示 CTS v2 示例测试报告
图 4:CTS v2 示例测试报告
显示 CTS v1 示例测试报告
图 5:CTS v1 示例测试报告
查看 test_result.xml 以了解未完成的测试模块
要确定给定测试会话中未完成模块的数量,请运行命令“list results”。每个先前会话都会列出“已完成模块”和“模块总数”的计数。要确定哪些模块已完成,哪些模块未完成,请打开 test_result.xml 文件并读取结果报告中每个模块的“done”属性的值。done 值为“false”的模块尚未运行完成。
分类整理测试失败
使用以下建议来分类整理测试失败。
- 如果测试因前提条件不正确而失败,请验证您的 CTS 环境是否设置正确。这包括物理环境、桌面机器设置和 Android 设备设置。
- 如果测试显得异常不稳定,请验证设备稳定性、测试设置或环境问题。
- 如果仍然失败,请隔离重试测试。
- 检查导致测试失败的外部因素,例如
- 环境设置。例如,配置错误的桌面机器设置可能是导致所有受测设备 (DUT)(包括参考设备)上发生测试失败的原因。
- 外部依赖项。例如,如果从特定时间点开始多个站点的所有设备上的测试都失败,则可能是错误的网址导致了问题。
- 如果 DUT 不包含安全补丁,则其安全测试失败是预期的。
- 验证和分析通过和失败设备之间的差异。
- 分析断言、日志、错误报告和 CTS 源代码。对于 HostTest,断言和日志可能非常通用,因此检查并附加设备 logcat 也很有帮助。
- 提交测试改进补丁以帮助减少测试失败。
保存部分结果
当测试调用失败时,Tradefed 不会保存部分测试结果。
当 Tradefed 未生成任何测试结果时,这意味着测试运行期间发生了严重问题,从而使测试结果不可信。部分结果被认为没有帮助,因为它在调查设备问题时没有提供价值。