Xml結果報告器

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)

保存測試日誌時調用。

公共構造函數

Xml結果報告器

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 :資料的String描述性名稱。例如“device_logcat”。注意 每次呼叫時 dataName 可能不是唯一的。即實現者必須能夠處理具有相同 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 :資料的String描述性名稱。例如“device_logcat”。注意 每次呼叫時 dataName 可能不是唯一的。即實現者必須能夠處理具有相同 dataName 的多個呼叫

dataType LogDataType :資料的LogDataType

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

logFile LogFile :包含已儲存檔案的元資料的LogFile