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, ITestRunListener listener)

為單一接聽程式建立 InstrumentationResultParser。

InstrumentationResultParser(String runName, Collection<ITestRunListener> 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, 
                ITestRunListener listener)

為單一接聽程式建立 InstrumentationResultParser。

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

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

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                Collection<ITestRunListener> listeners)

建立 InstrumentationResultParser。

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

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

公用方法

取消

public void cancel ()

要求取消測試執行。

完成

public void done ()

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

handleTestRunFailed

public void handleTestRunFailed (String errorMsg)

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

參數
errorMsg String

isCancelled

public boolean isCancelled ()

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

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

processNewLines

public void processNewLines (String[] lines)

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

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