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,
建立 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:包含新行的陣列。 |