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, 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)
处理来自 shell 的插桩测试输出。 |
公共构造函数
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:在测试执行时接收测试结果通知 |
公共方法
cancel
public void cancel ()
请求取消测试运行。
done
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)
处理来自 shell 的插桩测试输出。
| 参数 | |
|---|---|
lines |
String:包含新行的数组。 |