IMetricCollector

public interface IMetricCollector
implements IDisableable, ILogSaverListener

com.android.tradefed.device.metric.IMetricCollector


在报告测试结果时,此接口将作为装饰器添加,以便收集匹配的指标。

即使此接口扩展了 ITestInvocationListener,也无法用作 。配置检查会拒绝该配置。必须用作“metrics_collector”。

收集器不应保留内部状态,因为它们可能会在多个位置重复使用。如果确实必须使用内部状态,则应在 init(IInvocationContext,ITestInvocationListener) 上清理该状态。

摘要

公共方法

default boolean captureModuleLevel()

收集器是否适用于模块级捕获,是否应进行初始化。

default boolean doesModuleContainFailure()

如果当前模块包含任何测试用例或测试运行失败,则返回 true。

default void enableDefaultMetricCollection()

允许收集器启用默认指标收集。

default IMetricCollector.MetricCollectionLevel getAlwaysOnCollectionLevel()
abstract List<IBuildInfo> getBuildInfos()

返回调用中可用的 build 信息列表。

abstract List<ITestDevice> getDevices()

返回调用中可用的设备列表。

abstract ITestInvocationListener getInvocationListener()

返回转发结果的原始 ITestInvocationListener

default IMetricCollector.MetricCollectionLevel getOnFailureCollectionLevel()
abstract ITestInvocationListener init(IInvocationContext context, ITestInvocationListener listener)

使用当前上下文初始化收集器,并指定结果的转发位置。

default boolean isDefaultMetricCollectionEnabled()

收集器是否正在收集指标(作为默认指标收集的一部分)。

abstract void onTestAssumptionFailure(DeviceMetricData testData, TestDescription test)

当测试用例因假设失败而失败时的回调。

abstract void onTestEnd(DeviceMetricData testData, Map<String, MetricMeasurement.Metric> currentTestCaseMetrics, TestDescription test)

测试用例结束时的回调。

abstract void onTestEnd(DeviceMetricData testData, Map<String, MetricMeasurement.Metric> currentTestCaseMetrics)

测试用例结束时的回调。

abstract void onTestFail(DeviceMetricData testData, TestDescription test)

测试用例失败时的回调。

default void onTestModuleEnded()

允许捕获模块结束事件。

default void onTestModuleStarted()

允许捕获模块启动事件。

abstract void onTestRunEnd(DeviceMetricData runData, Map<String, MetricMeasurement.Metric> currentRunMetrics)

测试运行结束时的回调。

abstract void onTestRunStart(DeviceMetricData runData)

测试运行开始时的回调。

default void onTestRunStart(DeviceMetricData runData, int testCount)

测试运行开始时的回调。

default void onTestRunStartBlocking()

显式回调,用于在收集器支持的情况下手动启动收集器。

abstract void onTestStart(DeviceMetricData testData)

测试用例开始时的回调。

default void setAlwaysOnCollectionLevel(IMetricCollector.MetricCollectionLevel level)

设置收集器应收集日志的级别,无论是否发生故障。

default void setModuleContainsFailure()

设置模块是否出现任何失败(测试用例、测试运行)。

default void setOnFailureCollectionLevel(IMetricCollector.MetricCollectionLevel level)

设置收集器在发生故障时应收集日志的级别。

公共方法

captureModuleLevel

public boolean captureModuleLevel ()

收集器是否适用于模块级捕获,是否应进行初始化。

返回
boolean

doesModuleContainFailure

public boolean doesModuleContainFailure ()

如果当前模块包含任何测试用例或测试运行失败,则返回 true。

返回
boolean

enableDefaultMetricCollection

public void enableDefaultMetricCollection ()

允许收集器启用默认指标收集。启用默认指标收集功能后,收集器应仅在指定的收集级别进行收集。

getAlwaysOnCollectionLevel

public IMetricCollector.MetricCollectionLevel getAlwaysOnCollectionLevel ()

返回
IMetricCollector.MetricCollectionLevel

getBuildInfos

public abstract List<IBuildInfo> getBuildInfos ()

返回调用中可用的 build 信息列表。

返回
List<IBuildInfo>

getDevices

public abstract List<ITestDevice> getDevices ()

返回调用中可用的设备列表。

返回
List<ITestDevice>

getInvocationListener

public abstract ITestInvocationListener getInvocationListener ()

返回转发结果的原始 ITestInvocationListener

返回
ITestInvocationListener

getOnFailureCollectionLevel

public IMetricCollector.MetricCollectionLevel getOnFailureCollectionLevel ()

返回
IMetricCollector.MetricCollectionLevel

init

public abstract ITestInvocationListener init (IInvocationContext context, 
                ITestInvocationListener listener)

使用当前上下文初始化收集器,并指定将结果转发到何处。每个实例只会调用一次,并且收集器应更新其内部上下文和监听器。在测试运行期间,系统绝不会调用 Init,而是在测试运行之前调用。

除非您知道自己在做什么,否则请勿替换。

参数
context IInvocationContext:正在进行的调用的 IInvocationContext

listener ITestInvocationListener:用于放置结果的 ITestInvocationListener

返回
ITestInvocationListener 封装原始监听器的新监听器。

抛出
DeviceNotAvailableException

isDefaultMetricCollectionEnabled

public boolean isDefaultMetricCollectionEnabled ()

收集器是否正在收集指标(作为默认指标收集的一部分)。

返回
boolean

onTestAssumptionFailure

public abstract void onTestAssumptionFailure (DeviceMetricData testData, 
                TestDescription test)

测试用例因假设失败而失败时的回调。

参数
testData DeviceMetricData:用于保存测试用例数据的 DeviceMetricData

test TestDescription:正在进行的测试用例的 TestDescription

抛出
DeviceNotAvailableException

onTestEnd

public abstract void onTestEnd (DeviceMetricData testData, 
                Map<String, MetricMeasurement.Metric> currentTestCaseMetrics, 
                TestDescription test)

测试用例结束时的回调。此时应执行清理操作。

参数
testData DeviceMetricData:用于保存测试用例数据的 DeviceMetricData。将与 onTestStart(DeviceMetricData) 期间的对象相同。

currentTestCaseMetrics Map:传递给 testEnded(TestDescription,Map) 的当前指标映射。

test TestDescription:正在进行的测试用例的 TestDescription

抛出
DeviceNotAvailableException

onTestEnd

public abstract void onTestEnd (DeviceMetricData testData, 
                Map<String, MetricMeasurement.Metric> currentTestCaseMetrics)

测试用例结束时的回调。此时应执行清理操作。

参数
testData DeviceMetricData:用于保存测试用例数据的 DeviceMetricData。将与 onTestStart(DeviceMetricData) 期间的对象相同。

currentTestCaseMetrics Map:传递给 testEnded(TestDescription,Map) 的当前指标映射。

抛出
DeviceNotAvailableException

onTestFail

public abstract void onTestFail (DeviceMetricData testData, 
                TestDescription test)

测试用例失败时的回调。

参数
testData DeviceMetricData:用于保存测试用例数据的 DeviceMetricData

test TestDescription:正在进行的测试用例的 TestDescription

抛出
DeviceNotAvailableException

onTestModuleEnded

public void onTestModuleEnded ()

允许捕获模块结束事件。

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

onTestModuleStarted

public void onTestModuleStarted ()

允许捕获模块启动事件。

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

onTestRunEnd

public abstract void onTestRunEnd (DeviceMetricData runData, 
                Map<String, MetricMeasurement.Metric> currentRunMetrics)

测试运行结束时的回调。此时应执行清理操作。

参数
runData DeviceMetricData:用于保存运行数据的 DeviceMetricData。将与 onTestRunStart(DeviceMetricData) 期间的对象相同。

currentRunMetrics Map:传递给 testRunEnded(long,Map) 的当前指标映射。

抛出
DeviceNotAvailableException

onTestRunStart

public abstract void onTestRunStart (DeviceMetricData runData)

测试运行开始时的回调。

参数
runData DeviceMetricData:用于保存运行数据的 DeviceMetricData

抛出
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData, 
                int testCount)

测试运行开始时的回调。

参数
runData DeviceMetricData:用于保存运行数据的 DeviceMetricData

testCount int:相应测试运行中的测试用例数量。

抛出
DeviceNotAvailableException

onTestRunStartBlocking

public void onTestRunStartBlocking ()

显式回调,用于在收集器支持的情况下手动启动收集器。这样可以确保我们不在某些异步测试生命周期中。

抛出
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

onTestStart

public abstract void onTestStart (DeviceMetricData testData)

测试用例开始时的回调。

参数
testData DeviceMetricData:用于保存测试用例数据的 DeviceMetricData

抛出
DeviceNotAvailableException

setAlwaysOnCollectionLevel

public void setAlwaysOnCollectionLevel (IMetricCollector.MetricCollectionLevel level)

设置收集器应收集日志的级别,无论是否发生故障。

如果级别为 NULL,则不会收集任何数据。

参数
level IMetricCollector.MetricCollectionLevel:将收集日志的MetricCollectionLevel

setModuleContainsFailure

public void setModuleContainsFailure ()

设置模块是否出现任何失败(测试用例、测试运行)。

setOnFailureCollectionLevel

public void setOnFailureCollectionLevel (IMetricCollector.MetricCollectionLevel level)

设置收集器在发生故障时应收集日志的级别。

如果级别为 NULL,则不会收集任何数据。

参数
level IMetricCollector.MetricCollectionLevel:将收集日志的MetricCollectionLevel