LogSaver结果转发器
public class LogSaverResultForwarder
extends ResultForwarder
implements ILogSaverListener
java.lang.Object | ||
↳ | com.android.tradefed.result.ResultForwarder | |
↳ | com.android.tradefed.result.LogSaverResultForwarder |
用于使用全局文件保护程序保存日志的ResultForwarder
。
概括
公共构造函数 | |
---|---|
LogSaverResultForwarder ( ILogSaver logSaver, listeners) LogSaverResultForwarder ( ILogSaver logSaver, listeners) |
公共方法 | |
---|---|
void | invocationEnded (long elapsedTime) 报告调用已终止,无论是成功还是由于某些错误情况。 |
void | invocationStarted ( IInvocationContext context) 报告测试调用的开始。 |
void | logAssociation (String dataName, LogFile logFile) 在某些情况下,日志必须与测试用例强关联,但有机会这样做就直接 |
static void | logFile ( listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type) logFile ( listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type) 完成前记录最终文件 |
static void | reportEndHostLog ( listeners, ILogSaver saver, String name) reportEndHostLog ( listeners, ILogSaver saver, String name) 报告正在进行的会话的 host_log。 |
void | testLog (String dataName, LogDataType dataType, InputStreamSource dataStream) 提供来自测试调用的关联日志或调试数据。 另外,使用全局ILogSaver 保存日志文件,并为实现ILogSaverListener 接口的侦听器调用ILogSaverListener#testLogSaved(String, LogDataType, InputStreamSource, LogFile) 。 |
void | testLogForward (String dataName, LogDataType dataType, InputStreamSource dataStream) 只转发testLog,而不是先保存log。 |
void | testLogSaved (String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile) 保存测试日志时调用。 如果 |
公共构造函数
LogSaver结果转发器
public LogSaverResultForwarder (ILogSaver logSaver,listeners)
参数 | |
---|---|
logSaver | ILogSaver |
listeners |
公共方法
调用结束
public void invocationEnded (long elapsedTime)
报告调用已终止,无论是成功还是由于某些错误情况。
将由 TradeFederation 框架自动调用。参数 | |
---|---|
elapsedTime | long :调用所用的时间(以毫秒为单位) |
调用开始
public void invocationStarted (IInvocationContext context)
报告测试调用的开始。
将由 TradeFederation 框架自动调用。记者需要重写此方法以支持多设备报告。
参数 | |
---|---|
context | IInvocationContext :有关调用的信息 |
日志关联
public void logAssociation (String dataName, LogFile logFile)
在某些情况下,日志必须与测试用例强关联,但有机会这样做就直接testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
回调是不可能的。因此,此回调允许显式提供强关联。
参数 | |
---|---|
dataName | String : 数据的名称 |
logFile | LogFile :之前记录的LogFile ,应与测试用例关联。 |
日志文件
public static void logFile (listeners, ILogSaver saver, InputStreamSource source, String name, LogDataType type)
完成前记录最终文件
参数 | |
---|---|
listeners | |
saver | ILogSaver |
source | InputStreamSource |
name | String |
type | LogDataType |
报告结束主机日志
public static void reportEndHostLog (listeners, ILogSaver saver, String name)
报告正在进行的会话的 host_log。
参数 | |
---|---|
listeners | |
saver | ILogSaver |
name | String |
测试日志
public void testLog (String dataName, LogDataType dataType, InputStreamSource dataStream)
提供来自测试调用的关联日志或调试数据。
必须在ERROR(/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 方法完成。 |
测试日志转发
public void testLogForward (String dataName, LogDataType dataType, InputStreamSource dataStream)
只转发testLog,而不是先保存log。
参数 | |
---|---|
dataName | String |
dataType | LogDataType |
dataStream | InputStreamSource |
测试日志已保存
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 。 |