ITestInvocationListener

public interface ITestInvocationListener
implements ITestLifeCycleReceiver, ITestLogger

com.android.tradefed.result.ITestInvocationListener
AggregatePostProcessor 一个指标汇总器,用于为多次迭代测试运行期间收集的数值指标提供最小值、最大值、平均值、方差、标准差、总和、计数,以及可选的百分位数(将这些指标视为双精度值)。 
AtraceCollector 在测试期间运行 atrace 并收集结果并将其记录到调用中的 IMetricCollector。 
AtraceRunMetricCollector 从测试设备收集给定目录下所有测试目录中的轨迹,记录测试目录,对测试目录下的轨迹文件进行后处理,并汇总指标。 
AveragePostProcessor 实现了用于计算指标列表平均值的后处理程序。 
BaseDeviceMetricCollector IMetricCollector 的基础实现,允许在 onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData)ERROR(/#onTestRunEnd(com.android.tradefed.device.metric.DeviceMetricData,Map)) 上启动和停止收集。 
BasePostProcessor 每个实现都应扩展的基本 IPostProcessor。 
BluetoothConnectionLatencyCollector 收集器会将预定义的 StatsD 时长指标配置推送到设备,并收集每个配置文件的蓝牙连接时长。 
BluetoothConnectionStateCollector 此收集器将收集 BluetoothConnectionStateChanged 指标,并记录每个配置文件的连接状态编号。 
BluetoothConnectionSuccessRatePostProcessor 实现了用于计算蓝牙配置文件成功率的后处理器

使用“metric-key-match”指定包含数字数组中的蓝牙连接状态的指标(示例:[0, 1, 2, 3, 0, 1, 2, 3])。 

BluetoothHciSnoopLogCollector 收集器,用于在 DUT 上启用蓝牙 HCI 信息收集日志记录,并收集每次测试的日志。 
BugreportCollector 一种透传 ITestInvocationListener,用于在发生可配置事件时收集 bugreport,然后在收集每个 bugreport 后对其子项调用 ITestInvocationListener.testLog。 
BugreportzOnFailureCollector 在测试用例失败时收集 bugreportz。 
BugreportzOnTestCaseFailureCollector 在运行期间测试用例失败时收集 bugreportz。 
ClangCodeCoverageCollector 一个 BaseDeviceMetricCollector,用于从设备中提取 Clang 代码覆盖率测量结果,并将其记录为测试工件。 
CodeCoverageCollector 一个 BaseDeviceMetricCollector,用于从设备中提取 Java 和原生代码覆盖率测量结果,并将其记录为测试工件。 
CollectingTestListener 用于收集所有测试结果的 ITestInvocationListener。 
CommandStatusHandler 用于帮助监控和更新调用的状态的处理脚本。 
ConditionFailureMonitor 监控调用是否出现任何失败情况。 
ConsoleResultReporter 用于将测试结果输出到控制台的结果报告程序。 
CountTestCasesCollector 统计并报告给定 IRemoteTest 的测试用例数量。 
DebugHostLogOnFailureCollector 在发生测试用例失败时收集和记录主机端日志的收集器。 
DeviceReleaseReporter 设备版本报告程序,用于处理与要发布的设备的父进程进行通信。 
DeviceTraceCollector 在测试运行开始时启动 Perfetto 轨迹,并在结束时记录轨迹文件的收集器。 
DeviceUnavailableMonitor 此监听器仅会尝试捕获测试用例级 DNAE。 
EventsLoggerListener 将收到的所有事件记录到文件中的监听器
FileProtoResultReporter TestRecord 转储到文件中的 Proto 报告程序。 
FilePullerDeviceMetricCollector 一个 BaseDeviceMetricCollector,用于监听来自设备的指标键,并将其作为文件从设备中拉取。 
FilePullerLogCollector 设备端报告的文件的记录器。 
FilteredResultForwarder ResultForwarder 的变体,仅允许报告 TestDescription 的许可名单。 
FormattedGeneratorReporter 允许以特定格式生成报告的报告程序。 
GcovCodeCoverageCollector 一个 BaseDeviceMetricCollector,用于从设备中提取 gcov 覆盖率测量结果,并将其记录为测试工件。 
GcovKernelCodeCoverageCollector 一个 BaseDeviceMetricCollector,用于从 debugfs 和设备中提取 gcov 内核覆盖率测量结果,最后将其作为测试工件记录下来。 
GranularRetriableTestWrapper.StartEndCollector 用于捕获缺失的运行开始和结束时间的类辅助程序。 
HostStatsdMetricCollector 使用 statsd 实用程序命令从主机端收集 statsd 指标的 IMetricCollector。 
ICommandScheduler.IScheduledInvocationListener 用于监听调用完成事件的监听器。 
ILogSaverListener 允许 ITestInvocationListener 监听日志文件保存的时间。 
IMetricCollector 在报告测试结果时,系统会将此接口添加为装饰器,以收集匹配的指标。 
IPostProcessor 后处理程序是一种 Trade Federation 对象,旨在允许在测试后且在结果报告之前处理指标和日志。 
IShardableListener 可分片的 ITestInvocationListener。 
ISupportGranularResults 用于指定 ITestInvocationListener 是否支持接收精细结果的接口。 
ITestSummaryListener 允许 ITestInvocationListener 通过摘要交换一些有限信息的接口。 
InvocationProtoResultReporter 用于存储调用级缓存信息及其模块列表的报告程序
InvocationToJUnitResultForwarder 用于监听 ITestInvocationListener 事件并将其转发到 TestListener 的类。 
JarHostTest.HostTestListener 封装容器监听器,用于将 testRunStarted() 和 testRunEnded() 以外的所有事件转发到嵌入式监听器。 
JavaCodeCoverageCollector 一个 BaseDeviceMetricCollector,用于从设备中提取 Java 覆盖率测量结果并将其记录为测试工件。 
JsonHttpTestResultReporter 一个结果报告程序,用于将测试指标结果和分支、设备信息编码为 JSON,并将其 POST 到 HTTP 服务端点
LUCIResultReporter 一个结果报告程序,用于将 ResultDB 和 LUCI 所需的测试结果保存为 JSON 格式 (go/result-sink),并在控制台中记录文件位置。 
LastShardDetector 运行本地分片时,有时我们只希望在最后一个分片达到 invocationEnded(long) 时执行某些操作。 
LegacySubprocessResultsReporter 子进程结果报告程序的冻结实现,尽管其父类发生了变化,但仍应与较低版本的 TF/CTS(例如 8 及更高版本)兼容。 
LogSaverResultForwarder 用于使用全局文件保存程序保存日志的 ResultForwarder。 
LogcatCrashResultForwarder 特殊监听器:在发生失败(插桩进程崩溃)时,它会尝试从 Logcat 中提取崩溃信息,并将其添加到与测试关联的失败消息中。 
LogcatOnFailureCollector 在测试用例失败时捕获并记录 logcat 的收集器。 
LogcatTimingMetricCollector 指标收集器,用于在一次或多次重复测试期间从 Logcat 收集时间信息(例如用户切换时间),方法是使用给定的正则表达式模式解析 Logcat 行中的事件开始和结束信号。 
MetricFilePostProcessor 用于上传在测试和运行级别收集的指标日志文件。 
MetricsXMLResultReporter MetricsXMLResultReporter 会在测试的 invocationEnded 阶段将测试指标和运行指标写入 metrics-folder 参数指定的文件夹中的 XML 文件。 
ModuleListener 附加到每个模块的每个 IRemoteTest 的监听器,以收集结果列表。 
ModuleLogcatCollector Logcat 收集器的版本,但适用于模块。 
ModuleProtoResultReporter 仅报告模块级结果的结果报告程序。 
NameMangleListener 一个代理监听器,用于在报告结果时转换测试方法、类和软件包名称。 
PassingTestFileReporter 用于将通过测试的测试用例列表保存到测试文件中的 ITestInvocationListener 
PerfettoGenericPostProcessor 一种后处理器,通过递归展开包含字符串值的 proto 消息和字段,直到遇到包含数值的字段,将文本/二进制指标 Perfetto proto 文件处理为键值对。 
PerfettoPullerMetricCollector FilePullerDeviceMetricCollector 的基础实现,允许从设备中提取 Perfetto 文件并从中收集指标。 
PrettyTestEventLogger 与事件匹配并记录事件的日志记录器,以便更轻松地进行调试。 
ProtoResultReporter 结果报告程序会构建一个包含所有结果的 TestRecord protobuf。 
PythonBinaryHostTest.PythonForwarder 结果转发器,用于将运行名称替换为二进制名称。 
RebootReasonCollector 收集测试运行期间设备重启情况的收集器,并按原因和计数报告这些情况。 
RemoteTestTimeOutEnforcer 监听器,用于检查给定测试配置的执行时间,并在超出给定超时时使其失败。 
ReportPassedTests 在文件中报告可能的过滤条件,以排除已通过的测试。 
ResultAggregator 一种特殊的转发器,可根据所采用的重试策略,在需要时汇总结果。 
ResultAndLogForwarder 用于结果和日志事件的转发器。 
ResultDBReporter 将测试结果上传到 ResultDB 的结果报告程序。 
ResultForwarder 用于将调用结果转发给其他监听器列表的 ITestInvocationListener。 
RetryLogSaverResultForwarder 转发器,还会处理传递当前尝试次数。 
RetryResultForwarder ResultForwarder 的扩展程序,始终推送到给定的尝试次数。 
RuntimeRestartCollector 收集测试运行期间运行时重启(系统服务器崩溃)时间戳的收集器(如果有)。 
ScreenshotOnFailureCollector 在测试用例失败时捕获并记录屏幕截图的收集器。 
ShardListener 用于从调用分片(也称为在多个资源上并行运行的调用分块)收集结果并将其转发给另一个监听器的 ITestInvocationListener。 
ShardMainResultForwarder 用于组合分片测试调用的结果的 ResultForwarder。 
ShowmapPullerMetricCollector FilePullerDeviceMetricCollector 的基本实现,允许从设备中拉取 showmap 文件并从中收集指标。 
StatsdBeforeAfterGaugeMetricPostProcessor 用于处理以“前/后”方式收集的平均值指标的后处理器,即
StatsdEventMetricPostProcessor 一个后处理程序,用于使用处理器上指定的格式设置将 statsd 报告中的事件指标处理为键值对。 
StatsdGenericPostProcessor 一种后处理程序,用于通过将报告展开为树结构来将二进制 proto statsd 报告处理为键值对。 
StreamProtoResultReporter ProtoResultReporter 的实现
SubprocessResultsReporter 实现 ITestInvocationListener 以指定为 result_reporter,并从子进程中转发测试、测试运行、测试调用的结果。 
SuiteResultReporter 收集整个套件调用的测试结果,并输出最终结果。 
TestRunResultListener 用于读取最终测试运行状态的监听器。 
TestTimeoutEnforcer 监听器,用于检查给定测试用例的执行时间,并在其超出给定超时时使其失败。 
TextResultReporter 一种测试结果报告程序,用于将结果转发给 JUnit 文本结果打印程序。 
TraceCmdCollector 一个 IMetricCollector,用于使用 trace-cmd 在测试期间收集轨迹,并将其记录到调用。 
TradefedSandboxRunner.StubScheduledInvocationListener 一个不执行任何操作的桩 IScheduledInvocationListener。 
XmlFormattedGeneratorReporter 用于设置套件格式的 FormattedGeneratorReporter 的实现会生成 xml 格式。 
XmlResultReporter 将 JUnit 结果以与 Ant 的 XMLJUnitResultFormatter 一致的格式写入 XML 文件。 


用于监听测试调用的测试结果的监听器。

测试调用本身可以包含多次测试运行,因此调用顺序将为

  • invocationStarted(BuildInfo)
  • testRunStarted
  • testStarted
  • [testFailed]
  • testEnded
  • ...
  • testRunEnded
  • ...
  • testRunStarted
  • ...
  • testRunEnded
  • [invocationFailed]
  • [testLog+]
  • invocationEnded
  • getSummary

摘要

公共方法

default TestSummary getSummary()

允许 InvocationListener 返回摘要。

default void invocationEnded(long elapsedTime)

报告调用已终止,无论是成功终止还是因某种错误条件而终止。

default void invocationFailed(FailureDescription failure)

报告因某些错误条件而导致调用不完整。

default void invocationFailed(Throwable cause)

报告因某些错误条件而导致调用不完整。

default void invocationInterrupted()

在调度程序关闭时调用,让调用有机会在终止之前执行某些操作。

default void invocationSkipped(SkipReason reason)

将调用报告为已跳过

default void invocationStarted(IInvocationContext context)

报告测试调用的开始。

default void testModuleEnded()

报告模块运行结束。

default void testModuleStarted(IInvocationContext moduleContext)

报告模块运行的开始时间。

公共方法

getSummary

public TestSummary getSummary ()

允许 InvocationListener 返回摘要。

返回
TestSummary 用于总结运行情况的 TestSummary,或 null

invocationEnded

public void invocationEnded (long elapsedTime)

报告调用已终止,无论是成功终止还是因某种错误条件而终止。

将由 TradeFederation 框架自动调用。

参数
elapsedTime long:调用的经过时间(以毫秒为单位)

invocationFailed

public void invocationFailed (FailureDescription failure)

由于某些错误条件,报告调用不完整。

将由 TradeFederation 框架自动调用。

参数
failure FailureDescription:用于说明失败原因的 FailureDescription

invocationFailed

public void invocationFailed (Throwable cause)

由于某些错误条件,报告调用不完整。

将由 TradeFederation 框架自动调用。

参数
cause Throwable:失败的 Throwable 原因

invocationInterrupted

public void invocationInterrupted ()

在调度程序关闭时调用,让调用有机会在终止之前执行某些操作。

invocationSkipped

public void invocationSkipped (SkipReason reason)

将调用报告为跳过

参数
reason SkipReason

invocationStarted

public void invocationStarted (IInvocationContext context)

报告测试调用的开始。

将由 TradeFederation 框架自动调用。报告程序需要替换此方法才能支持多设备报告。

参数
context IInvocationContext:调用相关信息

testModuleEnded

public void testModuleEnded ()

报告模块运行结束。

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

报告模块运行的开始时间。此回调与 testModuleEnded() 相关联,在序列中是可选的。它仅在使用模块(基于套件的运行程序)的运行期间使用。

参数
moduleContext IInvocationContext:模块的 IInvocationContext