InstrumentationResultParser

public class InstrumentationResultParser
extends MultiLineReceiver implements IInstrumentationResultParser

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


解析从 shell 运行的插桩测试的“原始输出模式”结果,并将结果告知 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)
boolean isCancelled()

如果测试运行已取消,则返回 true。

void processNewLines(String[] lines)

从 shell 处理插桩测试输出。

公共构造函数

InstrumentationResultParser

public InstrumentationResultParser (String runName, 
                 listeners)

创建 InstrumentationResultParser。

参数
runName String:要提供给 ITestRunListener.testRunStarted(String, int) 的测试运行作业名称

listeners :在测试执行期间获知测试结果

公共方法

取消

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)

从 shell 处理插桩测试输出。

参数
lines String