The TouchUtils class
Sometimes, when testing UIs, it is helpful to simulate different kinds of touch events. These touch events can be generated in many different ways, but probably android.test.TouchUtils
is the simplest to use. This class provides reusable methods to generate touch events in test cases that are derived from InstrumentationTestCase
.
The featured methods allow a simulated interaction with the UI under test. The TouchUtils
class provides the infrastructure to inject the events using the correct UI or main thread, so no special handling is needed, and you don't need to annotate the test using @UIThreadTest
.
TouchUtils supports the following:
- Clicking on a View and releasing it
- Tapping on a View (touching it and quickly releasing)
- Long-clicking on a View
- Dragging the screen
- Dragging Views
The following test represents a typical usage of TouchUtils
:
public void testListScrolling() { listView.scrollTo(0, 0); TouchUtils.dragQuarterScreenUp(this, activity); ...