BaseDeviceMetricCollector (基準裝置指標收集器)

public class BaseDeviceMetricCollector
extends Object implements IDeviceActionReceiver, IMetricCollector

java.lang.Object
   ↳ com.android.tradefed.device.metric.BaseDeviceMetricCollector


允許在IMetricCollector onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData)ERROR(/#onTestRunEnd(com.android.tradefed.device.metric.DeviceMetricData,Map))

摘要

欄位

public static final String TEST_CASE_EXCLUDE_GROUP_OPTION

public static final String TEST_CASE_INCLUDE_GROUP_OPTION

公用建構函式

BaseDeviceMetricCollector()

公用方法

void extraInit(IInvocationContext context, ITestInvocationListener listener)
final getBuildInfos()

傳回叫用中可用的建構資訊清單。

final getDevices()

傳回叫用中可用的裝置清單。

File getFileFromTestArtifacts(String fileName)

從測試構件或模組構件和快取中擷取檔案 也就是用於後續呼叫的地圖中

final ITestInvocationListener getInvocationListener()

傳回要轉寄結果的原始 ITestInvocationListener

String getModuleName()
final getRealDevices()

傳回 getDevices() 清單中所有非虛設常式裝置。

String getRunName()

傳回觸發收集器的測試執行作業 mRunName 的名稱。

final ITestInvocationListener init(IInvocationContext context, ITestInvocationListener listener)

根據目前情境和轉送結果位置初始化收集器。

final void invocationEnded(long elapsedTime)

回報叫用已終止 (無論成功或因某些錯誤而終止) 值。

final void invocationFailed(FailureDescription failure)

回報因某些錯誤條件而不完整的叫用。

final void invocationFailed(Throwable cause)

回報因某些錯誤條件而不完整的叫用。

void invocationSkipped(SkipReason reason)

將叫用回報為略過

final void invocationStarted(IInvocationContext context)

轉送的叫用監聽器

final boolean isDisabled()

如果整個物件已停用,則傳回 True (略過設定與拆解)。

boolean isDisabledReceiver()

是否停用 IDeviceActionReceiver

final void logAssociation(String dataName, LogFile logFile)

請勿在指標收集器導入作業中使用。

void onTestAssumptionFailure(DeviceMetricData testData, TestDescription test)

測試案例失敗而假設失敗時的回呼。

void onTestEnd(DeviceMetricData testData, currentTestCaseMetrics, TestDescription test)

當測試案例結束時回呼。

void onTestEnd(DeviceMetricData testData, currentTestCaseMetrics)

當測試案例結束時回呼。

void onTestFail(DeviceMetricData testData, TestDescription test)

當測試案例失敗時回呼。

void onTestModuleEnded()

允許擷取模組已結束的事件。

void onTestModuleStarted()

允許擷取模組啟動的事件。

void onTestRunEnd(DeviceMetricData runData, currentRunMetrics)

測試執行結束時回呼。

void onTestRunFailed(DeviceMetricData testData, FailureDescription failure)

testRunFailed 事件的回呼

void onTestRunStart(DeviceMetricData runData)

測試執行作業開始時的回呼。

void onTestStart(DeviceMetricData testData)

在測試案例啟動時回呼。

void rebootEnded(ITestDevice device)

裝置重新啟動時會收到通知。

void rebootStarted(ITestDevice device)

接收裝置重新啟動的通知。

final void setDisable(boolean isDisabled)

設定是否應停用該物件。

void setDisableReceiver(boolean isDisabled)

設定是否應停用 IDeviceActionReceiver

final void setLogSaver(ILogSaver logSaver)

請勿在指標收集器導入作業中使用。

final void testAssumptionFailure(TestDescription test, String trace)

在不可部分完成的測試旗標假設條件為 false 時呼叫

final void testAssumptionFailure(TestDescription test, FailureDescription failure)

在不可部分完成的測試旗標假設條件為 false 時呼叫

final void testEnded(TestDescription test, long endTime, testMetrics)

ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) 的替代方式,可以指定結束時間

final void testEnded(TestDescription test, testMetrics)

回報個別測試案例的執行結束時間。

final void testFailed(TestDescription test, FailureDescription failure)

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

final void testFailed(TestDescription test, String trace)

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

final void testIgnored(TestDescription test)

在測試不執行時呼叫的呼叫,通常是因為測試方法加上了 org.junit.Ignore

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

提供來自測試叫用的相關聯記錄或偵錯資料。

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

請勿在指標收集器導入作業中使用。

final void testModuleEnded()

回報模組的執行完畢。

final void testModuleStarted(IInvocationContext moduleContext)

回報執行模組的開始。

final void testRunEnded(long elapsedTime, runMetrics)

測試執行結束報表。

final void testRunFailed(FailureDescription failure)

由於「FailureDescription」指出失敗,因此無法完成報表測試。

final void testRunFailed(String errorMessage)

發生嚴重錯誤,因此無法完成報表測試。

final void testRunStarted(String runName, int testCount, int attemptNumber)

回報測試執行作業的開始。

final void testRunStarted(String runName, int testCount)

測試執行回呼

final void testRunStarted(String runName, int testCount, int attemptNumber, long startTime)

回報測試執行作業的開始。

final void testRunStopped(long elapsedTime)

由於使用者要求,報表測試在執行完畢前已停止執行。

final void testSkipped(TestDescription test, SkipReason reason)

測試被略過,且因非預期原因而未執行時呼叫。

final void testStarted(TestDescription test, long startTime)

testStarted(com.android.tradefed.result.TestDescription) 的替代方式,我們會一併指定測試的時間 再加上 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)),才能取得準確的測量結果

final void testStarted(TestDescription test)

測試案例回呼

欄位

TEST_CASE_EXCLUDE_GROUP_OPTION

public static final String TEST_CASE_EXCLUDE_GROUP_OPTION

TEST_CASE_INCLUDE_GROUP_OPTION

public static final String TEST_CASE_INCLUDE_GROUP_OPTION

公用建構函式

BaseDeviceMetricCollector (基準裝置指標收集器)

public BaseDeviceMetricCollector ()

公用方法

extraInit

public void extraInit (IInvocationContext context, 
                ITestInvocationListener listener)

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

getBuildInfos

public final  getBuildInfos ()

傳回叫用中可用的建構資訊清單。

傳回

get 裝置

public final  getDevices ()

傳回叫用中可用的裝置清單。

傳回

getFileFromTestArtifacts

public File getFileFromTestArtifacts (String fileName)

從測試構件或模組構件和快取中擷取檔案 也就是用於後續呼叫的地圖中

參數
fileName String:要在構件中查詢的檔案名稱。

傳回
File 測試成果或模組構件的檔案。傳回空值 。

getInvocationListener

public final ITestInvocationListener getInvocationListener ()

傳回要轉寄結果的原始 ITestInvocationListener

傳回
ITestInvocationListener

getModuleName

public String getModuleName ()

傳回
String

getRealDevice

public final  getRealDevices ()

傳回 getDevices() 清單中所有非虛設常式裝置。

傳回

getRunName

public String getRunName ()

傳回觸發收集器的測試執行作業 mRunName 的名稱。

傳回
String mRunName,目前的測試執行作業名稱。

初始

public final ITestInvocationListener init (IInvocationContext context, 
                ITestInvocationListener listener)

根據目前情境和轉送結果位置初始化收集器。威爾 每個執行個體只會呼叫一次,且收集器預計將更新其內部 背景資訊和事件監聽器測試執行期間一律不會呼叫 Init。

除非您確定執行作業,否則請勿覆寫這項設定。

參數
context IInvocationContext:用於進行叫用的 IInvocationContext

listener ITestInvocationListener:要放置結果的 ITestInvocationListener

傳回
ITestInvocationListener 內含原始事件監聽器的新事件監聽器

擲回
DeviceNotAvailableException

已叫用

public final void invocationEnded (long elapsedTime)

回報叫用已終止 (無論成功或因某些錯誤而終止) 值。

將由 TradeFederation 架構自動呼叫。

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

叫用失敗

public final void invocationFailed (FailureDescription failure)

回報因某些錯誤條件而不完整的叫用。

將由 TradeFederation 架構自動呼叫。

參數
failure FailureDescription:說明失敗原因的 FailureDescription

叫用失敗

public final void invocationFailed (Throwable cause)

回報因某些錯誤條件而不完整的叫用。

將由 TradeFederation 架構自動呼叫。

參數
cause Throwable:失敗的 Throwable 原因

已略過叫用

public void invocationSkipped (SkipReason reason)

將叫用回報為略過

參數
reason SkipReason

叫用

public final void invocationStarted (IInvocationContext context)

轉送的叫用監聽器

參數
context IInvocationContext:叫用的相關資訊

已停用

public final boolean isDisabled ()

如果整個物件已停用,則傳回 True (略過設定與拆解)。否則傳回「否」。

傳回
boolean

isDisabledReceiver

public boolean isDisabledReceiver ()

是否停用 IDeviceActionReceiver

傳回
boolean 如果停用,會傳回 true,否則傳回 false。

記錄檔關聯

public final void logAssociation (String dataName, 
                LogFile logFile)

請勿在指標收集器導入作業中使用。。

參數
dataName String:資料名稱

logFile LogFileLogFile之前記錄且應與 測試案例

onTestAssumptionFailure

public void onTestAssumptionFailure (DeviceMetricData testData, 
                TestDescription test)

測試案例失敗而假設失敗時的回呼。

參數
testData DeviceMetricData:保留測試案例資料的 DeviceMetricData

test TestDescription:進行中的測試案例的 TestDescription

擲回
DeviceNotAvailableException

onTestEnd

public void onTestEnd (DeviceMetricData testData, 
                 currentTestCaseMetrics, 
                TestDescription test)

當測試案例結束時回呼。現在應該是清理時間。

參數
testData DeviceMetricData:保留測試案例資料的 DeviceMetricData。會是 與 onTestStart(com.android.tradefed.device.metric.DeviceMetricData) 期間相同的物件

currentTestCaseMetrics :傳遞至 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) 的目前指標對應。

test TestDescription:進行中的測試案例的 TestDescription

擲回
DeviceNotAvailableException

onTestEnd

public void onTestEnd (DeviceMetricData testData, 
                 currentTestCaseMetrics)

當測試案例結束時回呼。現在應該是清理時間。

參數
testData DeviceMetricData:保留測試案例資料的 DeviceMetricData。會是 與 onTestStart(com.android.tradefed.device.metric.DeviceMetricData) 期間相同的物件

currentTestCaseMetrics :傳遞至 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) 的目前指標對應。

擲回
DeviceNotAvailableException

onTestFail

public void onTestFail (DeviceMetricData testData, 
                TestDescription test)

當測試案例失敗時回呼。

參數
testData DeviceMetricData:保留測試案例資料的 DeviceMetricData

test TestDescription:進行中的測試案例的 TestDescription

擲回
DeviceNotAvailableException

onTestModuleEnded

public void onTestModuleEnded ()

允許擷取模組已結束的事件。

擲回
DeviceNotAvailableException

onTestModuleStarted

public void onTestModuleStarted ()

允許擷取模組啟動的事件。

擲回
DeviceNotAvailableException

onTestRunEnd

public void onTestRunEnd (DeviceMetricData runData, 
                 currentRunMetrics)

測試執行結束時回呼。現在應該是清理時間。

參數
runData DeviceMetricData:保存執行作業資料的 DeviceMetricData。維持不變 物件,就像在 onTestRunStart(com.android.tradefed.device.metric.DeviceMetricData) 期間一樣。

currentRunMetrics :傳遞至 ERROR(/#testRunEnded(long,Map)) 的目前指標對應。

擲回
DeviceNotAvailableException

onTestRunFailed

public void onTestRunFailed (DeviceMetricData testData, 
                FailureDescription failure)

testRunFailed 事件的回呼

擲回
com.android.tradefed.device.DeviceNotAvailableException
DeviceNotAvailableException

onTestRunStart

public void onTestRunStart (DeviceMetricData runData)

測試執行作業開始時的回呼。

參數
runData DeviceMetricData:保存執行作業資料的 DeviceMetricData

擲回
DeviceNotAvailableException

onTestStart

public void onTestStart (DeviceMetricData testData)

在測試案例啟動時回呼。

參數
testData DeviceMetricData:保留測試案例資料的 DeviceMetricData

擲回
DeviceNotAvailableException

已重啟

public void rebootEnded (ITestDevice device)

裝置重新啟動時會收到通知。

注意:接收器應避免在此回呼期間重新啟動。若重新啟動, 已忽略。

參數
device ITestDevice:重新啟動的 ITestDevice

擲回
DeviceNotAvailableException

重新啟動

public void rebootStarted (ITestDevice device)

接收裝置重新啟動的通知。

注意:接收器應避免在此回呼期間重新啟動。若重新啟動, 已忽略。

參數
device ITestDevice:重新啟動的 ITestDevice

擲回
DeviceNotAvailableException

設定停用

public final void setDisable (boolean isDisabled)

設定是否應停用該物件。「停用」表示設定和拆解步驟 應略過可用於將物件預設為停用狀態 建構函式中設定。

參數
isDisabled boolean:物件應置於的狀態。

setDisableReceiver

public void setDisableReceiver (boolean isDisabled)

設定是否應停用 IDeviceActionReceiver。停用後 未註冊接收裝置動作事件的裝置。

參數
isDisabled boolean

setLogSaver

public final void setLogSaver (ILogSaver logSaver)

請勿在指標收集器導入作業中使用。。

參數
logSaver ILogSaverILogSaver

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                String trace)

在不可部分完成的測試旗標假設條件為 false 時呼叫

參數
test TestDescription:識別測試

trace String:失敗的堆疊追蹤

testAssumptionFailure

public final void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

在不可部分完成的測試旗標假設條件為 false 時呼叫

參數
test TestDescription:識別測試

failure FailureDescriptionFailureDescription,說明失敗及其背景資訊。

測試結束

public final void testEnded (TestDescription test, 
                long endTime, 
                 testMetrics)

ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) 的替代方式,可以指定結束時間 搭配 testStarted(com.android.tradefed.result.TestDescription, long) 即可取得準確的測量結果。

參數
test TestDescription:識別測試

endTime long:測試結束的時間,透過 System.currentTimeMillis() 進行評估

testMetrics :發送的指標的 ERROR(/Map)

測試結束

public final void testEnded (TestDescription test, 
                 testMetrics)

回報個別測試案例的執行結束時間。

如果未叫用 testFailed(TestDescription, FailureDescription),這項測試就會通過。同時傳回任何鍵/值 指標,這些是在測試案例執行期間產生的指標。

參數
test TestDescription:識別測試

testMetrics :發送的指標的 ERROR(/Map)

測試失敗

public final void testFailed (TestDescription test, 
                FailureDescription failure)

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

這個值會在 testStarted 和 testEnded 之間呼叫。

參數
test TestDescription:識別測試

failure FailureDescriptionFailureDescription,說明失敗及其背景資訊。

測試失敗

public final void testFailed (TestDescription test, 
                String trace)

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

這個值會在 testStarted 和 testEnded 之間呼叫。

參數
test TestDescription:識別測試

trace String:失敗的堆疊追蹤

已忽略測試

public final void testIgnored (TestDescription test)

在測試不執行時呼叫的呼叫,通常是因為測試方法加上了 org.junit.Ignore

參數
test TestDescription:識別測試

測試記錄

public final 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 方法完成前開放存取。

testLog 已儲存

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

請勿在指標收集器導入作業中使用。。

參數
dataName String:資料的 String 描述性名稱。例如:「device_logcat」。注意事項 dataName 可在每次叫用中重複。實作者必須能處理 以相同的 dataName 呼叫多次呼叫

dataType LogDataType:資料的 LogDataType

dataStream InputStreamSource:資料的 InputStreamSource。實作者應呼叫 createInputStream 開始讀取資料,並確保結果關閉 完成後的 InputStream。

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

testModuleEnded

public final void testModuleEnded ()

回報模組的執行完畢。

testModuleStarted

public final void testModuleStarted (IInvocationContext moduleContext)

回報執行模組的開始。這個回呼與 testModuleEnded() 相關聯,在序列中是選用選項。只會在使用 模組:套件型執行器

參數
moduleContext IInvocationContext:模組的 IInvocationContext

testRunEnded

public final void testRunEnded (long elapsedTime, 
                 runMetrics)

測試執行結束報表。FIXME:我們不能有兩張地圖<>產生不同類型的介面 我們一定要在這裡使用 HashMap

參數
elapsedTime long:裝置回報的經過時間 (以毫秒為單位)

runMetrics :使用 Metric 的測試執行結束時回報的鍵/值組合。

testRunFailed

public final void testRunFailed (FailureDescription failure)

由於「FailureDescription」指出失敗,因此無法完成報表測試。

參數
failure FailureDescriptionFailureDescription,說明失敗及其背景資訊。

testRunFailed

public final void testRunFailed (String errorMessage)

發生嚴重錯誤,因此無法完成報表測試。

參數
errorMessage StringString 說明執行失敗的原因。

testRunStarted

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber)

回報測試執行作業的開始。

參數
runName String:測試執行作業名稱

testCount int:測試執行作業中的測試總數

attemptNumber int:訂單號碼,可識別同一個 runName 的不同嘗試次數 執行多次tryNumber 為 0 的索引,且每次都會遞增 新的執行作業發生時例如:每次執行精細的重試測試 3 次,總共應該有 4 次 在同一個 runName 下執行,且 tryNumber 介於 0 到 3 之間。

testRunStarted

public final void testRunStarted (String runName, 
                int testCount)

測試執行回呼

參數
runName String:測試執行作業名稱

testCount int:測試執行作業中的測試總數

testRunStarted

public final void testRunStarted (String runName, 
                int testCount, 
                int attemptNumber, 
                long startTime)

回報測試執行作業的開始。

參數
runName String:測試執行作業名稱

testCount int:測試執行作業中的測試總數

attemptNumber int:訂單號碼,可識別同一個 runName 的不同嘗試次數 執行多次tryNumber 為 0 的索引,且每次傳回 新的工作也會開始執行例如:執行精細的重試 3 次測試,總共應執行 4 次測試 同一個 runName,且 tryNumber 介於 0 到 3 之間。

startTime long:執行作業開始的時間,透過 System.currentTimeMillis() 測量

testRunStopped

public final void testRunStopped (long elapsedTime)

由於使用者要求,報表測試在執行完畢前已停止執行。

待辦事項:目前未使用,建議移除

參數
elapsedTime long:裝置回報的經過時間 (以毫秒為單位)

測試略過

public final void testSkipped (TestDescription test, 
                SkipReason reason)

測試被略過,且因非預期原因而未執行時呼叫。 系統會嘗試重新嘗試這些測試,以便執行正確的作業。

參數
test TestDescription:識別測試

reason SkipReasonSkipReason

testStarted

public final void testStarted (TestDescription test, 
                long startTime)

testStarted(com.android.tradefed.result.TestDescription) 的替代方式,我們會一併指定測試的時間 再加上 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)),才能取得準確的測量結果

參數
test TestDescription:識別測試

startTime long:測試開始的時間,透過 System.currentTimeMillis() 進行測量

testStarted

public final void testStarted (TestDescription test)

測試案例回呼

參數
test TestDescription:識別測試