LogcatCrashResultForwarder

public class LogcatCrashResultForwarder
extends ResultForwarder

java.lang.Object
   ↳ com.android.tradefed.result.ResultForwarder
     ↳ com.android.tradefed.result.LogcatCrashResultForwarder


特殊事件監聽器:失敗時 (檢測程序異常終止),它會嘗試從 logcat 會造成當機問題,並加入與測試相關的失敗訊息。

摘要

常數

int MAX_NUMBER_CRASH

欄位

public static final String ERROR_MESSAGE

裝置端發生問題時,檢測作業發出的特殊錯誤訊息。

public static final String INCOMPLETE_MESSAGE

public static final String SYSTEM_CRASH_MESSAGE

public static final TIMEOUT_MESSAGES

公用建構函式

LogcatCrashResultForwarder(ITestDevice device, ITestInvocationListener... listeners)

公用方法

ITestDevice getDevice()
void setPackageName(String packageName)
void testEnded(TestDescription test, long endTime, testMetrics)

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

void testFailed(TestDescription test, FailureDescription failure)

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

void testFailed(TestDescription test, String trace)

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

void testRunEnded(long elapsedTime, runMetrics)

測試執行結束報表。

void testRunFailed(FailureDescription error)

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

void testRunFailed(String errorMessage)

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

void testStarted(TestDescription test, long startTime)

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

常數

MAX_NUMBER_CRASH 個

public static final int MAX_NUMBER_CRASH

常數值: 3 分 (0x00000003)。

欄位

ERROR_MESSAGE

public static final String ERROR_MESSAGE

裝置端發生問題時,檢測作業發出的特殊錯誤訊息。

未完成訊息

public static final String INCOMPLETE_MESSAGE

系統訊息

public static final String SYSTEM_CRASH_MESSAGE

TIMEOUT_MESSAGES

public static final  TIMEOUT_MESSAGES

公用建構函式

LogcatCrashResultForwarder

public LogcatCrashResultForwarder (ITestDevice device, 
                ITestInvocationListener... listeners)

參數
device ITestDevice

listeners ITestInvocationListener

公用方法

getDevice

public ITestDevice getDevice ()

傳回
ITestDevice

setPackageName

public void setPackageName (String packageName)

參數
packageName String

測試結束

public 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 void testFailed (TestDescription test, 
                FailureDescription failure)

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

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

參數
test TestDescription:識別測試

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

測試失敗

public void testFailed (TestDescription test, 
                String trace)

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

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

參數
test TestDescription:識別測試

trace String:失敗的堆疊追蹤

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

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

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

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

testRunFailed

public void testRunFailed (FailureDescription error)

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

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

testRunFailed

public void testRunFailed (String errorMessage)

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

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

testStarted

public 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() 進行測量