InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

java.lang.Object
   ↳ com.android.ddmlib.MultiLineReceiver
     ↳ com.android.tradefed.result.ddmlib.InstrumentationResultParser


從殼層剖析檢測測試執行的「原始輸出模式」結果,並將結果通知 ITestRunListener。

預期輸出內容如下:

如果嘗試執行測試時發生嚴重錯誤:

 INSTRUMENTATION_STATUS: Error=error Message
 INSTRUMENTATION_FAILED:
 

 INSTRUMENTATION_RESULT: shortMsg=error Message
 

否則,您會看到一系列測試結果,每個結果都包含一組狀態鍵/值配對,並以 start(1)/pass(0)/fail(-2)/error(-1) 狀態代碼結果做為分隔符號。測試執行完畢後,系統應會顯示測試經過的時間 (以秒為單位)。

例如:

 INSTRUMENTATION_STATUS_CODE: 1
 INSTRUMENTATION_STATUS: class=com.foo.FooTest
 INSTRUMENTATION_STATUS: test=testFoo
 INSTRUMENTATION_STATUS: numtests=2
 INSTRUMENTATION_STATUS: stack=com.foo.FooTest#testFoo:312
    com.foo.X
 INSTRUMENTATION_STATUS_CODE: -2
 ...

 Time: X
 

請注意,鍵/值組合的「值」部分可能會換行

請改用 InstrumentationProtoResultParser。以 Proto 為基礎的剖析器含有額外資訊,例如 Logcat 訊息。

摘要

公用建構函式

InstrumentationResultParser(String runName, listeners)

建立 InstrumentationResultParser。

公用方法

void cancel()

要求取消測試執行。

void done()

adb 工作階段完成時,由父項呼叫。

void handleTestRunFailed(String errorMsg)

當「am instrument」指令因例外狀況而當機時,系統會呼叫這個方法。

boolean isCancelled()

如果測試執行作業已取消,則傳回 true。

void processNewLines(String[] lines)

處理來自殼層的檢測設備測試輸出內容。

公用建構函式

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

建立 InstrumentationResultParser。

參數
runName String:要提供給 ITestRunListener.testRunStarted(String, int) 的測試執行名稱

listeners :在測試執行期間收到測試結果通知

公用方法

cancel

public void cancel ()

要求取消測試執行。

done

public void done ()

adb 工作階段完成時,由父項呼叫。

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

當「am instrument」指令因例外狀況而當機時,系統會呼叫這個方法。如果測試執行期間發生當機情形,系統應通知所有已註冊的監聽器,ITestRunListener.testRunFailed 後接 ITestRunListener.testRunEnded(long, )

參數
errorMsg String

isCancelled

public boolean isCancelled ()

如果測試執行作業已取消,則傳回 true。

傳回
boolean true 可取消執行指令。

processNewLines

public void processNewLines (String[] lines)

處理來自殼層的檢測設備測試輸出內容。

參數
lines String:包含新行的陣列。