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 runner 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 ()

公共方法

調用結束

public void invocationEnded (long elapsedTime)

報告調用已終止,無論是成功終止還是由於某些錯誤情況。

將由 TradeFederation 框架自動調用。

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

設置日誌保存器

public void setLogSaver (ILogSaver logSaver)

設置ILogSaver以允許實施者保存文件。

參數
logSaver ILogSaverILogSaver

測試失敗

public void testFailed (TestDescription test, 
                String trace)

報告單個測試用例的失敗。

將在 testStarted 和 testEnded 之間調用。

參數
test TestDescription :標識測試

trace String :失敗的堆棧跟踪

測試日誌

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

提供來自測試調用的關聯日誌或調試數據。

必須在ERROR(/ITestInvocationListener#invocationFailed(Throwable))ERROR(/ITestInvocationListener#invocationEnded(long))之前調用

TradeFederation 框架將自動調用此方法,提供主機日誌和設備 logcat(如果適用)。

參數
dataName String :數據的ERROR(/String)描述性名稱。例如“device_logcat”。注意 dataName 每次調用可能不是唯一的。即實現者必須能夠處理具有相同數據名的多個調用

dataType LogDataType :數據的LogDataType

dataStream InputStreamSource :數據的InputStreamSource 。實施者應調用 createInputStream 開始讀取數據,並確保在完成後關閉生成的 InputStream。調用者應確保數據源保持存在且可訪問,直到 testLog 方法完成。

測試日誌已保存

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

保存測試日誌時調用。

應該用來代替ITestInvocationListener#testLog(String, LogDataType, InputStreamSource)

參數
dataName String :數據的ERROR(/String)描述性名稱。例如“device_logcat”。注意 dataName 每次調用可能不是唯一的。即實現者必須能夠處理具有相同數據名的多個調用

dataType LogDataType :數據的LogDataType

dataStream InputStreamSource :數據的InputStreamSource 。實施者應調用 createInputStream 開始讀取數據,並確保在完成後關閉生成的 InputStream。

logFile LogFile :包含已保存文件的元數據的LogFile