LogSaverResultForwarder
public
class
LogSaverResultForwarder
extends ResultForwarder
implements
ILogSaverListener
| java.lang.Object | ||
| ↳ | com.android.tradefed.result.ResultForwarder | |
| ↳ | com.android.tradefed.result.LogSaverResultForwarder | |
用于使用全局文件保存器保存日志的 ResultForwarder。
摘要
公共构造函数 | |
|---|---|
LogSaverResultForwarder(ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config)
|
|
LogSaverResultForwarder(ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config, boolean setLogSaver)
|
|
公共方法 | |
|---|---|
void
|
invocationEnded(long elapsedTime)
报告调用已终止,无论是成功终止还是因某些错误 情况而终止。 |
void
|
invocationStarted(IInvocationContext context)
报告测试调用已开始。 |
void
|
logAssociation(String dataName, LogFile logFile)
在某些情况下,日志必须与测试用例紧密关联,但无法在直接 |
static
void
|
logFile(List<ITestInvocationListener> listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type)
在完成之前记录最终文件 |
static
void
|
reportEndHostLog(List<ITestInvocationListener> listeners, ILogSaver saver, String name)
报告正在进行的会话中的 host_log。 |
void
|
testLog(String dataName, LogDataType dataType, InputStreamSource dataStream)
提供测试调用中的关联日志或调试数据。
此外,使用全局 |
void
|
testLogForward(String dataName, LogDataType dataType, InputStreamSource dataStream)
仅转发 testLog,而不是先保存日志。 |
void
|
testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)
在保存测试日志时调用。 如果 |
void
|
testModuleEnded()
报告模块运行结束。 |
void
|
testModuleStarted(IInvocationContext moduleContext)
报告模块运行开始。 |
公共构造函数
LogSaverResultForwarder
public LogSaverResultForwarder (ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config)
| 参数 | |
|---|---|
logSaver |
ILogSaver |
listeners |
List |
config |
IConfiguration |
LogSaverResultForwarder
public LogSaverResultForwarder (ILogSaver logSaver, List<ITestInvocationListener> listeners, IConfiguration config, boolean setLogSaver)
| 参数 | |
|---|---|
logSaver |
ILogSaver |
listeners |
List |
config |
IConfiguration |
setLogSaver |
boolean |
公共方法
invocationEnded
public void invocationEnded (long elapsedTime)
报告调用已终止,无论是成功终止还是因某些错误 情况而终止。
TradeFederation 框架会自动调用此方法。
| 参数 | |
|---|---|
elapsedTime |
long:调用的经过时间(以毫秒为单位) |
invocationStarted
public void invocationStarted (IInvocationContext context)
报告测试调用已开始。
TradeFederation 框架会自动调用此方法。报告程序需要替换 此方法,以支持多个设备报告。
| 参数 | |
|---|---|
context |
IInvocationContext:有关调用的信息 |
logAssociation
public void logAssociation (String dataName,
LogFile logFile)在某些情况下,日志必须与测试用例紧密关联,但无法在直接 testLogSaved(String,LogDataType,InputStreamSource,LogFile)
回调中执行此操作。因此,此回调允许显式提供紧密关联
。
| 参数 | |
|---|---|
dataName |
String:数据的名称 |
logFile |
LogFile:之前记录的 LogFile,应与
测试用例关联。 |
logFile
public static void logFile (List<ITestInvocationListener> listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type)
在完成之前记录最终文件
| 参数 | |
|---|---|
listeners |
List |
saver |
ILogSaver |
source |
InputStreamSource |
name |
String |
type |
LogDataType |
reportEndHostLog
public static void reportEndHostLog (List<ITestInvocationListener> listeners, ILogSaver saver, String name)
报告正在进行的会话中的 host_log。
| 参数 | |
|---|---|
listeners |
List |
saver |
ILogSaver |
name |
String |
testLog
public void testLog (String dataName,
LogDataType dataType,
InputStreamSource dataStream)提供测试调用中的关联日志或调试数据。
必须在 ERROR(ITestInvocationListener.invocationFailed(Throwable)/ITestInvocationListener#invocationFailed(java.lang.Throwable) ITestInvocationListener.invocationFailed(Throwable)) 或
ERROR(/ITestInvocationListener#invocationEnded(long))
之前调用
TradeFederation 框架会自动调用此方法,提供主机日志 ,并在适用情况下提供设备 logcat。
此外,使用全局 ILogSaver 保存日志文件,并为实现 ILogSaverListener 接口的监听器调用
ILogSaverListener.testLogSaved(String,LogDataType,InputStreamSource,LogFile)
。
| 参数 | |
|---|---|
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,而不是先保存日志。
| 参数 | |
|---|---|
dataName |
String |
dataType |
LogDataType |
dataStream |
InputStreamSource |
testLogSaved
public void testLogSaved (String dataName,
LogDataType dataType,
InputStreamSource dataStream,
LogFile logFile)在保存测试日志时调用。
应替换为 ITestInvocationListener.testLog(String,LogDataType,InputStreamSource)。
如果 LogSaverResultForwarder 封装在另一个转发器中,请确保我们将
testLogSaved 回调转发给其下的监听器。
| 参数 | |
|---|---|
dataName |
String:数据的 String 说明性名称,例如“device_logcat”。注意
:dataName 在每次调用中可能不是唯一的。也就是说,实现者必须能够处理
具有相同 dataName 的多次调用 |
dataType |
LogDataType:数据的 LogDataType |
dataStream |
InputStreamSource:数据的 InputStreamSource。实现者应调用
createInputStream 以开始读取数据,并确保在完成后关闭生成的
InputStream。 |
logFile |
LogFile:包含已保存文件的元数据的 LogFile。 |
testModuleEnded
public void testModuleEnded ()
报告模块运行结束。
testModuleStarted
public void testModuleStarted (IInvocationContext moduleContext)
报告模块运行开始。此回调与 testModuleEnded() 相关联,并且在序列中是可选的。它仅在运行使用
模块(基于套件的运行程序)期间使用。
| 参数 | |
|---|---|
moduleContext |
IInvocationContext:模块的 IInvocationContext。 |