InstrumentationTestCase
public
class
InstrumentationTestCase
extends Object
java.lang.Object | |
↳ | android.test.InstrumentationTestCase |
This class was deprecated
in API level 24.
Use
InstrumentationRegistry instead. New tests should be written using the
AndroidX Test Library.
A test case that has access to Instrumentation
.
Summary
Public constructors | |
---|---|
InstrumentationTestCase()
|
Public methods | |
---|---|
Instrumentation
|
getInstrumentation()
Inheritors can access the instrumentation using this. |
void
|
injectInsrumentation(Instrumentation instrumentation)
This method was deprecated
in API level 15.
Incorrect spelling,
use |
void
|
injectInstrumentation(Instrumentation instrumentation)
Injects instrumentation into this test case. |
final
<T extends Activity>
T
|
launchActivity(String pkg, Class<T> activityCls, Bundle extras)
Utility method for launching an activity. |
final
<T extends Activity>
T
|
launchActivityWithIntent(String pkg, Class<T> activityCls, Intent intent)
Utility method for launching an activity with a specific Intent. |
void
|
runTestOnUiThread(Runnable r)
Helper for running portions of a test on the UI thread. |
void
|
sendKeys(int... keys)
Sends a series of key events through instrumentation and waits for idle. |
void
|
sendKeys(String keysSequence)
Sends a series of key events through instrumentation and waits for idle. |
void
|
sendRepeatedKeys(int... keys)
Sends a series of key events through instrumentation and waits for idle. |
Protected methods | |
---|---|
void
|
runTest()
Runs the current unit test. |
void
|
tearDown()
Make sure all resources are cleaned up and garbage collected before moving on to the next test. |
Inherited methods | |
---|---|
Public constructors
InstrumentationTestCase
public InstrumentationTestCase ()
Public methods
getInstrumentation
public Instrumentation getInstrumentation ()
Inheritors can access the instrumentation using this.
Returns | |
---|---|
Instrumentation |
instrumentation |
injectInsrumentation
public void injectInsrumentation (Instrumentation instrumentation)
This method was deprecated
in API level 15.
Incorrect spelling,
use injectInstrumentation(android.app.Instrumentation)
instead.
Injects instrumentation into this test case. This method is called by the test runner during test setup.
Parameters | |
---|---|
instrumentation |
Instrumentation : the instrumentation to use with this instance |
injectInstrumentation
public void injectInstrumentation (Instrumentation instrumentation)
Injects instrumentation into this test case. This method is called by the test runner during test setup.
Parameters | |
---|---|
instrumentation |
Instrumentation : the instrumentation to use with this instance |
launchActivity
public final T launchActivity (String pkg, Class<T> activityCls, Bundle extras)
Utility method for launching an activity.
The Intent
used to launch the Activity is:
action = Intent#ACTION_MAIN
extras = null, unless a custom bundle is provided here
All other fields are null or empty.
NOTE: The parameter pkg must refer to the package identifier of the package hosting the activity to be launched, which is specified in the AndroidManifest.xml file. This is not necessarily the same as the java package name.
Parameters | |
---|---|
pkg |
String : The package hosting the activity to be launched. |
activityCls |
Class : The activity class to launch. |
extras |
Bundle : Optional extra stuff to pass to the activity. |
Returns | |
---|---|
T |
The activity, or null if non launched. |
launchActivityWithIntent
public final T launchActivityWithIntent (String pkg, Class<T> activityCls, Intent intent)
Utility method for launching an activity with a specific Intent.
NOTE: The parameter pkg must refer to the package identifier of the package hosting the activity to be launched, which is specified in the AndroidManifest.xml file. This is not necessarily the same as the java package name.
Parameters | |
---|---|
pkg |
String : The package hosting the activity to be launched. |
activityCls |
Class : The activity class to launch. |
intent |
Intent : The intent to launch with |
Returns | |
---|---|
T |
The activity, or null if non launched. |
runTestOnUiThread
public void runTestOnUiThread (Runnable r)
Helper for running portions of a test on the UI thread.
Note, in most cases it is simpler to annotate the test method with
UiThreadTest
, which will run the entire test method on the UI thread.
Use this method if you need to switch in and out of the UI thread to perform your test.
Parameters | |
---|---|
r |
Runnable : runnable containing test code in the Runnable#run() method |
Throws | |
---|---|
Throwable |
sendKeys
public void sendKeys (int... keys)
Sends a series of key events through instrumentation and waits for idle. For instance: sendKeys(KEYCODE_DPAD_LEFT, KEYCODE_DPAD_CENTER).
Parameters | |
---|---|
keys |
int : The series of key codes to send through instrumentation. |
sendKeys
public void sendKeys (String keysSequence)
Sends a series of key events through instrumentation and waits for idle. The sequence of keys is a string containing the key names as specified in KeyEvent, without the KEYCODE_ prefix. For instance: sendKeys("DPAD_LEFT A B C DPAD_CENTER"). Each key can be repeated by using the N* prefix. For instance, to send two KEYCODE_DPAD_LEFT, use the following: sendKeys("2*DPAD_LEFT").
Parameters | |
---|---|
keysSequence |
String : The sequence of keys. |
sendRepeatedKeys
public void sendRepeatedKeys (int... keys)
Sends a series of key events through instrumentation and waits for idle. Each key code must be preceded by the number of times the key code must be sent. For instance: sendRepeatedKeys(1, KEYCODE_DPAD_CENTER, 2, KEYCODE_DPAD_LEFT).
Parameters | |
---|---|
keys |
int : The series of key repeats and codes to send through instrumentation. |
Protected methods
runTest
protected void runTest ()
Runs the current unit test. If the unit test is annotated with
UiThreadTest
, the test is run on the UI thread.
Throws | |
---|---|
Throwable |
tearDown
protected void tearDown ()
Make sure all resources are cleaned up and garbage collected before moving on to the next test. Subclasses that override this method should make sure they call super.tearDown() at the end of the overriding method.
Throws | |
---|---|
|
java.lang.Exception |
Exception |