TestFailureListener

public class TestFailureListener
extends Object implements ITestInvocationListener

java.lang.Object
   ↳ com.android.tradefed.testtype.suite.TestFailureListener


监听器,用于在有请求时在测试失败时执行操作(例如截取屏幕截图、生成 bug 报告、收集 Logcat)。

摘要

公共构造函数

TestFailureListener( devices, boolean bugReportOnFailure, boolean rebootOnFailure)

公共方法

void applyModuleConfiguration(boolean bugreportOnFailure)

允许针对特定模块捕获失败时替换捕获的调用设置 配置。

void join()

加入所有 Logcat 捕获线程,确保它们终止。

void setLogger(ITestLogger logger)

设置日志的保存位置。

void testFailed(TestDescription test, String trace)

报告单个测试用例的失败。

void testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)

提供测试调用中的关联日志或调试数据。

void testLogForward(String dataName, LogDataType dataType, InputStreamSource dataStream)

将日志转发给日志记录器,请勿在 #testLog 回调中执行此操作,因为如果 TestFailureListener 是链的一部分,则会导致无限循环。

公共构造函数

TestFailureListener

public TestFailureListener ( devices, 
                boolean bugReportOnFailure, 
                boolean rebootOnFailure)

参数
devices

bugReportOnFailure boolean

rebootOnFailure boolean

公共方法

applyModuleConfiguration

public void applyModuleConfiguration (boolean bugreportOnFailure)

允许针对特定模块捕获失败时替换捕获的调用设置 配置。

参数
bugreportOnFailure boolean:如果为 true,则在测试失败时捕获 bug 报告。否则为 false。

join

public void join ()

加入所有 Logcat 捕获线程,以确保它们终止。

setLogger

public void setLogger (ITestLogger logger)

设置应将日志保存到的位置。

参数
logger ITestLogger

testFailed

public void testFailed (TestDescription test, 
                String trace)

报告单个测试用例的失败情况。

将在 testStarted 和 testEnded 之间调用。

参数
test TestDescription:用于标识测试

trace String:失败的堆栈轨迹

testLog

public void testLog (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

提供测试调用中的关联日志或调试数据。

必须在 ERROR(/ITestInvocationListener#invocationFailed(Throwable)) 或之前调用 ERROR(/ITestInvocationListener#invocationEnded(long))

TradeFederation 框架会自动调用此方法,提供主机日志和(如果适用)设备 logcat。

参数
dataName String:数据的 String 描述性名称,例如“device_logcat”。注意事项 每次调用的 dataName 可能不唯一。例如,实施人员必须能够处理 具有相同 dataName 的多个调用

dataType LogDataType:数据的 LogDataType

dataStream InputStreamSource:数据的 InputStreamSource。实现人员应调用 createInputStream 以开始读取数据,并确保关闭生成的 InputStream。调用方应确保在 testLog 方法完成之前,数据源始终存在且可访问。

testLogForward

public void testLogForward (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream)

将日志转发给日志记录器,请勿在 #testLog 回调中执行此操作,因为如果 TestFailureListener 是链的一部分,则会导致无限循环。

参数
dataName String

dataType LogDataType

dataStream InputStreamSource