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,
|
公用方法 | |
---|---|
void
|
invocationEnded(long elapsedTime)
回報叫用已終止,無論是成功或因某些錯誤條件而終止。 |
void
|
invocationStarted(IInvocationContext context)
回報測試叫用作業的開始時間。 |
void
|
logAssociation(String dataName, LogFile logFile)
在某些情況下,記錄必須與測試案例建立強連結,但無法直接在 |
static
void
|
logFile(
在完成前記錄最終檔案 |
static
void
|
reportEndHostLog(
回報目前工作階段中的 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)
儲存測試記錄時呼叫。 如果 |
公用建構函式
LogSaverResultForwarder
public LogSaverResultForwarder (ILogSaver logSaver,listeners, IConfiguration config)
參數 | |
---|---|
logSaver |
ILogSaver |
listeners |
|
config |
IConfiguration |
公用方法
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, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
回呼上執行此操作。因此,這個回呼可明確提供強連結。
參數 | |
---|---|
dataName |
String :資料名稱 |
logFile |
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 |
reportEndHostLog
public static void reportEndHostLog (listeners, ILogSaver saver, String name)
回報目前工作階段中的 host_log。
參數 | |
---|---|
listeners |
|
saver |
ILogSaver |
name |
String |
testLog
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 方法完成為止。 |
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 。 |