Stats

446 Contributors: 6 Wednesday, May 24, 2017
Licensed under: CC-BY-SA
Not affiliated with Stack Overflow
Rip Tutorial: riptutorial@gmail.com
Roadmap: roadmap

Writing UI tests - Android

Introduction

Focus of this document is to represent goals and ways how to write android UI and integration tests. Espresso and UIAutomator are provided by Google so focus should be around these tools and their respective wrappers e.g. Appium, Spoon etc.

Syntax

  • Idling resource
  • String getName() - Returns the name of the idling resource(used for logging and idempotency of registration).
  • boolean isIdleNow() - Returns true if resource is currently idle.
  • void registerIdleTransitionCallback(IdlingResource.ResourceCallback callback) - Registers the given IdlingResource.ResourceCallback with the resource

Remarks

JUnit rules:

As you can see in MockWebServer example and ActivityTestRule they all fall under category of JUnit rules which you can create yourself which then should be executed for each test defining its behaviour @see: https://github.com/junit-team/junit4/wiki/rules

Appium

Parameters

Since parameters have some issues placing them here until documentation bug is resolved:

ParameterDetails
Class activityClasswhich activity to start
initialTouchModeshould the activity be placed in touch mode on start: https://android-developers.blogspot.de/2008/12/touch-mode.html
launchActivitytrue if the Activity should be launched once per Test method. It will be launched before the first Before method, and terminated after the last After method.

Related Examples