InstrumentationTestCase


public class InstrumentationTestCase
extends Object

java.lang.Object
   ↳ android.test.InstrumentationTestCase
ActivityTestCase This class was deprecated in API level 24. New tests should be written using the Android Testing Support Library. 
ProviderTestCase<T extends ContentProvider> This class was deprecated in API level 5. this class extends InstrumentationTestCase but should extend AndroidTestCase. Use ProviderTestCase2, which corrects this problem, instead. 
SingleLaunchActivityTestCase<T extends Activity> This class was deprecated in API level 24. Use ActivityTestRule instead. New tests should be written using the Android Testing Support Library. 
SyncBaseInstrumentation This class was deprecated in API level 24. Use InstrumentationRegistry instead. New tests should be written using the Android Testing Support Library. 
ActivityInstrumentationTestCase<T extends Activity> This class was deprecated in API level 3. new tests should be written using ActivityInstrumentationTestCase2, which provides more options for configuring the Activity under test 
ActivityInstrumentationTestCase2<T extends Activity> This class was deprecated in API level 24. Use ActivityTestRule instead. New tests should be written using the Android Testing Support Library. 
ActivityUnitTestCase<T extends Activity> This class was deprecated in API level 24. Write Local Unit Tests instead. 


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 injectInstrumentation(android.app.Instrumentation) instead.

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

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

InstrumentationTestCase

public InstrumentationTestCase ()

Public methods

getInstrumentation

Added in API level 1
public Instrumentation getInstrumentation ()

Inheritors can access the instrumentation using this.

Returns
Instrumentation instrumentation

injectInsrumentation

Added in API level 1
Deprecated in API level 15
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

Added in API level 5
Deprecated in API level 24
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

Added in API level 1
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

Added in API level 3
Deprecated in API level 24
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

Added in API level 3
Deprecated in API level 24
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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

Added in API level 1
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