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
 

否則,您會看到一系列的測試結果,每個結果都包含一組狀態鍵/值組合,並以開始(1)/通過(0)/失敗(-2)/錯誤(-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)
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)

參數
errorMsg String

isCancelled

public boolean isCancelled ()

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

傳回
boolean

processNewLines

public void processNewLines (String[] lines)

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

參數
lines String