XmlResultReporter

public class XmlResultReporter
extends CollectingTestListener implements ILogSaverListener

java.lang.Object
   ↳ com.android.tradefed.result.CollectingTestListener
     ↳ com.android.tradefed.result.XmlResultReporter


以與 Ant 的 XMLJUnitResultFormatter 一致的格式,將 JUnit 結果寫入 XML 檔案。

與 Ant 的格式化工具不同,這個類別不會回報測試的執行時間。

收集記憶體中的所有測試資訊,然後在叫用完成時轉存至檔案。

從 Dalvik 執行程式 XmlReportPrinter 移植而來。

結果檔案會儲存在透過 [--output-file-path]/[build_id] 建構的路徑中

摘要

公用建構函式

XmlResultReporter()

公用方法

void invocationEnded(long elapsedTime)

回報叫用已終止,無論是成功或因某些錯誤條件而終止。

void setLogSaver(ILogSaver logSaver)

設定 ILogSaver,允許實作者儲存檔案。

void testFailed(TestDescription test, String trace)

回報個別測試案例的失敗情形。

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

提供測試叫用作業的相關記錄或偵錯資料。

void testLogSaved(String dataName, LogDataType dataType, InputStreamSource dataStream, LogFile logFile)

儲存測試記錄時呼叫。

公用建構函式

XmlResultReporter

public XmlResultReporter ()

公用方法

invocationEnded

public void invocationEnded (long elapsedTime)

回報叫用已終止,無論是成功或因某些錯誤條件而終止。

會由 TradeFederation 架構自動呼叫。

參數
elapsedTime long:叫用作業的經過時間 (以毫秒為單位)

setLogSaver

public void setLogSaver (ILogSaver logSaver)

設定 ILogSaver,允許實作者儲存檔案。

參數
logSaver ILogSaverILogSaver

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 方法完成為止。

testLogSaved

public void testLogSaved (String dataName, 
                LogDataType dataType, 
                InputStreamSource dataStream, 
                LogFile logFile)

儲存測試記錄時呼叫。

應改用 ITestInvocationListener.testLog(String, LogDataType, InputStreamSource)

參數
dataName String:資料的 String 描述性名稱,例如「device_logcat」。請注意,每個叫用作業的 dataName 可能不具唯一性。也就是說,實作者必須能夠處理具有相同 dataName 的多個呼叫

dataType LogDataType:資料的 LogDataType

dataStream InputStreamSource:資料的 InputStreamSource。實作者應呼叫 createInputStream 開始讀取資料,並確保在完成時關閉產生的 InputStream。

logFile LogFile:包含儲存檔案中繼資料的 LogFile