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,
创建 InstrumentationResultParser。 |
|
公共方法 | |
|---|---|
void
|
cancel()
请求取消测试运行。 |
void
|
done()
当 adb 会话完成时,由父级调用。 |
void
|
handleTestRunFailed(String errorMsg)
当“am instrument”命令因异常而崩溃时,系统会调用此方法。 |
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)
当“am instrument”命令因异常而崩溃时,系统会调用此方法。如果测试执行期间发生崩溃,应先通知所有已注册的监听器 ITestRunListener.testRunFailed,然后再通知 ITestRunListener.testRunEnded(long, 。
| 参数 | |
|---|---|
errorMsg |
String |
isCancelled
public boolean isCancelled ()
如果测试运行已取消,则返回 true。
| 返回 | |
|---|---|
boolean |
如果为 true,则取消命令的执行。 |
processNewLines
public void processNewLines (String[] lines)
处理来自 shell 的插桩测试输出。
| 参数 | |
|---|---|
lines |
String:包含新行的数组。 |