RemoteAndroidTestRunner
public
class
RemoteAndroidTestRunner
extends Object
implements
IRemoteAndroidTestRunner
| java.lang.Object | |
| ↳ | com.android.ddmlib.testrunner.RemoteAndroidTestRunner |
远程运行 Android 测试命令并报告结果。
摘要
公共构造函数 | |
|---|---|
RemoteAndroidTestRunner(String packageName, IShellEnabledDevice remoteDevice)
替代构造函数。 |
|
RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice)
替代构造函数。 |
|
RemoteAndroidTestRunner(String packageName, String runnerName, IShellEnabledDevice remoteDevice, RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)
创建远程 Android 测试运行程序。 |
|
公共方法 | |
|---|---|
void
|
addBooleanArg(String name, boolean value)
添加一个布尔值实参,以包含在插桩命令中。 |
void
|
addInstrumentationArg(String name, String value)
添加了要包含在插桩命令中的实参。 |
void
|
cancel()
请求取消此测试运行。 |
IInstrumentationResultParser
|
createParser(String runName,
创建将用于解析插桩输出的 |
String
|
getAmInstrumentCommand()
|
IRemoteAndroidTestRunner.CoverageOutput
|
getCoverageOutputType()
返回 runner 生成的测试覆盖率类型。 |
String
|
getPackageName()
返回应用软件包名称。 |
String
|
getRunOptions()
返回 am instrument 命令的选项。 |
String
|
getRunnerName()
返回 runnerName。 |
void
|
removeInstrumentationArg(String name)
移除之前添加的实参。 |
void
|
run(ITestRunListener... listeners)
执行此测试运行。 |
void
|
run(
执行此测试运行。 |
void
|
setAdditionalTestOutputLocation(String additionalTestDataPath)
设置在卸载测试应用之前要复制到主机的其他测试输出的位置。 |
void
|
setClassName(String className)
设置仅运行此类中的测试。必须在“run”之前调用。 |
void
|
setClassNames(String[] classNames)
设置仅运行所提供类中的测试。必须在“run”之前调用。 |
void
|
setCoverage(boolean coverage)
设置相应测试运行的此代码覆盖率模式。 |
void
|
setCoverageReportLocation(String reportPath)
设置生成的覆盖率报告的位置。 |
void
|
setDebug(boolean debug)
设置相应测试运行的调试模式。 |
void
|
setLogOnly(boolean logOnly)
将此测试运行设置为仅记录模式 - 跳过测试执行。 |
void
|
setMaxTimeToOutputResponse(long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
设置在设备上运行测试的 shell 命令输出之间允许的最大时间。 |
void
|
setMaxTimeout(long maxTimeout, TimeUnit maxTimeUnits)
设置检测完成所需的最长时间。 |
void
|
setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
|
void
|
setMethodName(String className, String testName)
设置仅运行指定的测试方法,必须在“run”之前调用。 |
void
|
setRunName(String runName)
设置要向 如果未指定,将使用软件包名称 |
void
|
setRunOptions(String options)
为 am instrument 命令设置选项。 |
void
|
setTestCollection(boolean collect)
将此测试运行设置为测试收集模式。 |
void
|
setTestPackageName(String packageName)
设置运行指定软件包中的所有测试。必须在“run”之前调用。 |
void
|
setTestSize(IRemoteAndroidTestRunner.TestSize size)
设置为仅运行指定大小的测试。 |
受保护的方法 | |
|---|---|
String
|
getArgsCommand()
返回所提供的插桩实参的完整插桩命令行语法。 |
String
|
getRunnerPath()
返回完整的插桩组件路径。 |
公共构造函数
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
IShellEnabledDevice remoteDevice)替代构造函数。使用默认的插桩运行程序。
| 参数 | |
|---|---|
packageName |
String:包含要运行的测试的 Android 应用软件包 |
remoteDevice |
IShellEnabledDevice:要执行测试的 Android 设备 |
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
String runnerName,
IShellEnabledDevice remoteDevice)替代构造函数。使用默认值 statusReporterMode。
| 参数 | |
|---|---|
packageName |
String:包含要运行的测试的 Android 应用软件包 |
runnerName |
String:要执行的插桩测试运行程序。如果为 null,将使用默认的 runner |
remoteDevice |
IShellEnabledDevice:要执行测试的 Android 设备 |
RemoteAndroidTestRunner
public RemoteAndroidTestRunner (String packageName,
String runnerName,
IShellEnabledDevice remoteDevice,
RemoteAndroidTestRunner.StatusReporterMode statusReporterMode)创建远程 Android 测试运行程序。
| 参数 | |
|---|---|
packageName |
String:包含要运行的测试的 Android 应用软件包 |
runnerName |
String:要执行的插桩测试运行程序。如果为 null,将使用默认的 runner |
remoteDevice |
IShellEnabledDevice:要执行测试的 Android 设备 |
statusReporterMode |
RemoteAndroidTestRunner.StatusReporterMode:用于检测命令的状态报告器模式 |
公共方法
addBooleanArg
public void addBooleanArg (String name,
boolean value)添加一个布尔值实参,以包含在插桩命令中。
| 参数 | |
|---|---|
name |
String:插桩软件包实参的名称 |
value |
boolean:实参的值 |
addInstrumentationArg
public void addInstrumentationArg (String name,
String value)添加了要包含在插桩命令中的实参。
必须在“run”之前调用。如果已提供具有指定名称的实参,则其值将被覆盖。
| 参数 | |
|---|---|
name |
String:插桩软件包实参的名称 |
value |
String:实参的值 |
取消
public void cancel ()
请求取消此测试运行。
createParser
public IInstrumentationResultParser createParser (String runName,listeners)
创建将用于解析插桩输出的 InstrumentationResultParser。
| 参数 | |
|---|---|
runName |
String:要使用的运行的名称。 |
listeners |
:用于报告结果的监听器。 |
| 返回 | |
|---|---|
IInstrumentationResultParser |
InstrumentationResultParser 的一个实例。 |
getAmInstrumentCommand
public String getAmInstrumentCommand ()
| 返回 | |
|---|---|
String |
|
getCoverageOutputType
public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()
返回运行程序生成的测试覆盖率的类型。请参阅CoverageOutput。
| 返回 | |
|---|---|
IRemoteAndroidTestRunner.CoverageOutput |
|
getPackageName
public String getPackageName ()
返回应用软件包名称。
| 返回 | |
|---|---|
String |
|
getRunOptions
public String getRunOptions ()
返回 am instrument 命令的选项。
| 返回 | |
|---|---|
String |
|
getRunnerName
public String getRunnerName ()
返回 runnerName。
| 返回 | |
|---|---|
String |
|
removeInstrumentationArg
public void removeInstrumentationArg (String name)
移除之前添加的实参。
| 参数 | |
|---|---|
name |
String:要移除的插桩软件包实参的名称 |
得分
public void run (ITestRunListener... listeners)
执行此测试运行。
适用于 ERROR(/#run(Collection)) 的便捷方法。
| 参数 | |
|---|---|
listeners |
ITestRunListener:监听测试结果 |
| 抛出 | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
得分
public void run (listeners)
执行此测试运行。
| 参数 | |
|---|---|
listeners |
:测试结果的监听器集合 |
| 抛出 | |
|---|---|
AdbCommandRejectedException |
|
ShellCommandUnresponsiveException |
|
TimeoutException |
|
setAdditionalTestOutputLocation
public void setAdditionalTestOutputLocation (String additionalTestDataPath)
设置在卸载测试应用之前要复制到主机的其他测试输出的位置。例如,生成的基准比较报告。
| 参数 | |
|---|---|
additionalTestDataPath |
String |
setClassName
public void setClassName (String className)
设置为仅运行此类中的测试。必须在“run”之前调用。
| 参数 | |
|---|---|
className |
String:完全限定的类名称(例如 x.y.z) |
setClassNames
public void setClassNames (String[] classNames)
设置仅运行所提供类中的测试。必须在“run”之前调用。
如果提供多个类,则需要支持多个类实参语法的 InstrumentationTestRunner。
| 参数 | |
|---|---|
classNames |
String:完全限定类名(例如 x.y.z)的数组 |
setCoverage
public void setCoverage (boolean coverage)
设置相应测试运行的此代码覆盖率模式。
| 参数 | |
|---|---|
coverage |
boolean |
setCoverageReportLocation
public void setCoverageReportLocation (String reportPath)
设置生成的覆盖率报告的位置。
| 参数 | |
|---|---|
reportPath |
String |
setDebug
public void setDebug (boolean debug)
设置相应测试运行的调试模式。如果为 true,Android 测试运行程序将等待调试程序连接,然后再继续执行测试。
| 参数 | |
|---|---|
debug |
boolean |
setLogOnly
public void setLogOnly (boolean logOnly)
将此测试运行设置为仅记录模式 - 跳过测试执行。
| 参数 | |
|---|---|
logOnly |
boolean |
setMaxTimeToOutputResponse
public void setMaxTimeToOutputResponse (long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)设置在设备上运行测试的 shell 命令输出之间允许的最大时间。
这样,您就可以设置超时时间,以防测试卡住而永远无法完成。这与连接的正常超时不同。
默认情况下,不会指定超时时间。
| 参数 | |
|---|---|
maxTimeToOutputResponse |
long:允许命令在最长多长时间内不输出任何响应。值为 0 表示该方法将无限期等待(直到 receiver 取消执行)命令输出,并且永远不会抛出异常。 |
maxTimeUnits |
TimeUnit:非零 maxTimeToOutputResponse 和 maxTimeout 值的单位。 |
setMaxTimeout
public void setMaxTimeout (long maxTimeout,
TimeUnit maxTimeUnits)设置检测完成所需的最长时间。
这样,您就可以设置超时时间,以防测试卡住而永远无法完成。这与连接的正常超时不同。
默认情况下,不会指定超时时间。
| 参数 | |
|---|---|
maxTimeout |
long:允许命令在最长多长时间内不输出任何响应。值为 0 表示该方法将无限期等待(直到 receiver 取消执行)命令输出,并且永远不会抛出异常。 |
maxTimeUnits |
TimeUnit:非零 maxTimeToOutputResponse 和 maxTimeout 值的单位。 |
setMaxtimeToOutputResponse
public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)
| 参数 | |
|---|---|
maxTimeToOutputResponse |
int |
setMethodName
public void setMethodName (String className,
String testName)设置仅运行指定的测试方法,必须在“run”之前调用。
| 参数 | |
|---|---|
className |
String:完全限定的类名称(例如 x.y.z) |
testName |
String:方法名称 |
setRunName
public void setRunName (String runName)
设置要向 ITestRunListener 报告的自定义运行名称,时间为 run(
如果未指定,将使用软件包名称
setRunOptions
public void setRunOptions (String options)
为 am instrument 命令设置选项。如需查看完整的选项列表,请参阅 com/android/commands/am/Am.java。
| 参数 | |
|---|---|
options |
String |
setTestCollection
public void setTestCollection (boolean collect)
将此测试运行设置为测试收集模式。如果为 true,则会跳过测试执行,并设置成功收集测试所需的所有相应 runner 实参。
| 参数 | |
|---|---|
collect |
boolean |
setTestPackageName
public void setTestPackageName (String packageName)
设置为运行指定软件包中的所有测试,必须在“run”之前调用。
| 参数 | |
|---|---|
packageName |
String:完全限定的软件包名称(例如 x.y.z) |
setTestSize
public void setTestSize (IRemoteAndroidTestRunner.TestSize size)
设置为仅运行指定大小的测试。必须在“run”之前调用。
| 参数 | |
|---|---|
size |
IRemoteAndroidTestRunner.TestSize:要运行的 TestSize。 |
受保护的方法
getArgsCommand
protected String getArgsCommand ()
返回所提供的插桩实参的完整插桩命令行语法。如果未指定任何实参,则返回空字符串。
| 返回 | |
|---|---|
String |
|
getRunnerPath
protected String getRunnerPath ()
返回完整的插桩组件路径。
| 返回 | |
|---|---|
String |
|