Package com.android.ddmlib.testrunner
Interface IRemoteAndroidTestRunner
-
- All Known Implementing Classes:
RemoteAndroidTestRunner
public interface IRemoteAndroidTestRunner
Interface for running a Android test command remotely and reporting result to a listener.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
IRemoteAndroidTestRunner.TestSize
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
addBooleanArg(java.lang.String name, boolean value)
Adds a boolean argument to include in instrumentation command.void
addInstrumentationArg(java.lang.String name, java.lang.String value)
Adds a argument to include in instrumentation command.void
cancel()
Requests cancellation of this test run.java.lang.String
getPackageName()
Returns the application package name.java.lang.String
getRunnerName()
Returns the runnerName.void
removeInstrumentationArg(java.lang.String name)
Removes a previously added argument.void
run(ITestRunListener... listeners)
Execute this test run.void
run(java.util.Collection<ITestRunListener> listeners)
Execute this test run.void
setClassName(java.lang.String className)
Sets to run only tests in this class Must be called before 'run'.void
setClassNames(java.lang.String[] classNames)
Sets to run only tests in the provided classes Must be called before 'run'.void
setCoverage(boolean coverage)
Sets this code coverage mode of this test run.void
setDebug(boolean debug)
Sets this debug mode of this test run.void
setLogOnly(boolean logOnly)
Sets this test run to log only mode - skips test execution.void
setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
Deprecated.void
setMaxTimeToOutputResponse(long maxTimeToOutputResponse, java.util.concurrent.TimeUnit maxTimeUnits)
Sets the maximum time allowed between output of the shell command running the tests on the devices.void
setMethodName(java.lang.String className, java.lang.String testName)
Sets to run only specified test method Must be called before 'run'.void
setRunName(java.lang.String runName)
Set a custom run name to be reported to theITestRunListener
onrun(com.android.ddmlib.testrunner.ITestRunListener...)
void
setTestCollection(boolean collection)
Sets this test run to test collection mode.void
setTestPackageName(java.lang.String packageName)
Sets to run all tests in specified package Must be called before 'run'.void
setTestSize(IRemoteAndroidTestRunner.TestSize size)
Sets to run only tests of given size.
-
-
-
Method Detail
-
getPackageName
java.lang.String getPackageName()
Returns the application package name.
-
getRunnerName
java.lang.String getRunnerName()
Returns the runnerName.
-
setClassName
void setClassName(java.lang.String className)
Sets to run only tests in this class Must be called before 'run'.- Parameters:
className
- fully qualified class name (eg x.y.z)
-
setClassNames
void setClassNames(java.lang.String[] classNames)
Sets to run only tests in the provided classes Must be called before 'run'.If providing more than one class, requires a InstrumentationTestRunner that supports the multiple class argument syntax.
- Parameters:
classNames
- array of fully qualified class names (eg x.y.z)
-
setMethodName
void setMethodName(java.lang.String className, java.lang.String testName)
Sets to run only specified test method Must be called before 'run'.- Parameters:
className
- fully qualified class name (eg x.y.z)testName
- method name
-
setTestPackageName
void setTestPackageName(java.lang.String packageName)
Sets to run all tests in specified package Must be called before 'run'.- Parameters:
packageName
- fully qualified package name (eg x.y.z)
-
setTestSize
void setTestSize(IRemoteAndroidTestRunner.TestSize size)
Sets to run only tests of given size. Must be called before 'run'.- Parameters:
size
- theIRemoteAndroidTestRunner.TestSize
to run.
-
addInstrumentationArg
void addInstrumentationArg(java.lang.String name, java.lang.String value)
Adds a argument to include in instrumentation command.Must be called before 'run'. If an argument with given name has already been provided, it's value will be overridden.
- Parameters:
name
- the name of the instrumentation bundle argumentvalue
- the value of the argument
-
removeInstrumentationArg
void removeInstrumentationArg(java.lang.String name)
Removes a previously added argument.- Parameters:
name
- the name of the instrumentation bundle argument to remove
-
addBooleanArg
void addBooleanArg(java.lang.String name, boolean value)
Adds a boolean argument to include in instrumentation command.- Parameters:
name
- the name of the instrumentation bundle argumentvalue
- the value of the argument- See Also:
RemoteAndroidTestRunner.addInstrumentationArg(java.lang.String, java.lang.String)
-
setLogOnly
void setLogOnly(boolean logOnly)
Sets this test run to log only mode - skips test execution.
-
setDebug
void setDebug(boolean debug)
Sets this debug mode of this test run. If true, the Android test runner will wait for a debugger to attach before proceeding with test execution.
-
setCoverage
void setCoverage(boolean coverage)
Sets this code coverage mode of this test run.
-
setTestCollection
void setTestCollection(boolean collection)
Sets this test run to test collection mode. If true, will skip test execution and will set all appropriate runner arguments required for a successful test collection.
-
setMaxtimeToOutputResponse
@Deprecated void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)
Deprecated.
-
setMaxTimeToOutputResponse
void setMaxTimeToOutputResponse(long maxTimeToOutputResponse, java.util.concurrent.TimeUnit maxTimeUnits)
Sets the maximum time allowed between output of the shell command running the tests on the devices.This allows setting a timeout in case the tests can become stuck and never finish. This is different from the normal timeout on the connection.
By default no timeout will be specified.
- Parameters:
maxTimeToOutputResponse
- the maximum amount of time during which the command is allowed to not output any response. A value of 0 means the method will wait forever (until the receiver cancels the execution) for command output and never throw.maxTimeUnits
- Units for non-zeromaxTimeToOutputResponse
values.- See Also:
IDevice.executeShellCommand(String, com.android.ddmlib.IShellOutputReceiver, int)
-
setRunName
void setRunName(java.lang.String runName)
Set a custom run name to be reported to theITestRunListener
onrun(com.android.ddmlib.testrunner.ITestRunListener...)
If unspecified, will use package name
- Parameters:
runName
-
-
run
void run(ITestRunListener... listeners) throws TimeoutException, AdbCommandRejectedException, ShellCommandUnresponsiveException, java.io.IOException
Execute this test run.Convenience method for
run(Collection)
.- Parameters:
listeners
- listens for test results- Throws:
TimeoutException
- in case of a timeout on the connection.AdbCommandRejectedException
- if adb rejects the commandShellCommandUnresponsiveException
- if the device did not output any test result for a period longer than the max time to output.java.io.IOException
- if connection to device was lost.- See Also:
setMaxtimeToOutputResponse(int)
-
run
void run(java.util.Collection<ITestRunListener> listeners) throws TimeoutException, AdbCommandRejectedException, ShellCommandUnresponsiveException, java.io.IOException
Execute this test run.- Parameters:
listeners
- collection of listeners for test results- Throws:
TimeoutException
- in case of a timeout on the connection.AdbCommandRejectedException
- if adb rejects the commandShellCommandUnresponsiveException
- if the device did not output any test result for a period longer than the max time to output.java.io.IOException
- if connection to device was lost.- See Also:
setMaxtimeToOutputResponse(int)
-
cancel
void cancel()
Requests cancellation of this test run.
-
-