Test your app
Stay organized with collections
Save and categorize content based on your preferences.
This page describes various tools that help you create, configure, and
run your tests from Android Studio or the command line.
If you want to learn more about the fundamentals of testing and how to write
tests, see Test apps on Android.
There are different ways to run and configure your tests:
Test in Android Studio
For basic testing needs, Android Studio includes features that help you
create, run, and view results of tests all from the IDE. Using Android Studio,
you can point and click in the app source code to create and run tests for
specific classes or methods, use menus to configure multiple test
devices, and interact with the Test Matrix tool window to visualize test
results. For more information on how to use Android Studio to create and
manage your tests, see
Test in Android Studio.
Run tests from the command line
For more fine-grained control, you can run tests from the command line.
Command-line testing provides a straightforward way to target modules or
build variants individually or in combinations. Running tests through the
Android Debug Bridge (adb) shell allows for the most customization in terms of
which tests you want to run.
Running tests from the command line is also useful on a continuous
integration system.
For more information, see
Test from the command line.
Advanced testing
For advanced testing needs, you may want to override default settings,
configure Gradle options, or refactor your code so that tests are separated in
their own module. For more information about how to set up your test
configurations for special use cases, see Advanced test
setup.
To test how your app behaves when your user interacts with it, you can use
tools such as Espresso Test
Recorder,
App Crawler,
UI Automator, or
Monkey testing.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2023-04-12 UTC.
[null,null,["Last updated 2023-04-12 UTC."],[],[],null,["# Test your app\n\nThis page describes various tools that help you create, configure, and\nrun your tests from Android Studio or the command line.\n\nIf you want to learn more about the fundamentals of testing and how to write\ntests, see [Test apps on Android](/training/testing).\n\nThere are different ways to run and configure your tests:\n\n- **Test in Android Studio**\n\n For basic testing needs, Android Studio includes features that help you\n create, run, and view results of tests all from the IDE. Using Android Studio,\n you can point and click in the app source code to create and run tests for\n specific classes or methods, use menus to configure multiple test\n devices, and interact with the Test Matrix tool window to visualize test\n results. For more information on how to use Android Studio to create and\n manage your tests, see\n [Test in Android Studio](/studio/test/test-in-android-studio).\n- **Run tests from the command line**\n\n For more fine-grained control, you can run tests from the command line.\n Command-line testing provides a straightforward way to target modules or\n build variants individually or in combinations. Running tests through the\n Android Debug Bridge (adb) shell allows for the most customization in terms of\n which tests you want to run.\n\n Running tests from the command line is also useful on a [continuous\n integration system](/studio/projects/continuous-integration).\n\n For more information, see\n [Test from the command line](/studio/test/command-line).\n- **Advanced testing**\n\n For advanced testing needs, you may want to override default settings,\n configure Gradle options, or refactor your code so that tests are separated in\n their own module. For more information about how to set up your test\n configurations for special use cases, see [Advanced test\n setup](/studio/test/advanced-test-setup).\n\n To test how your app behaves when your user interacts with it, you can use\n tools such as [Espresso Test\n Recorder](/studio/test/other-testing-tools/espresso-test-recorder),\n [App Crawler](/studio/test/other-testing-tools/app-crawler),\n [UI Automator](/training/testing/other-components/ui-automator), or\n [Monkey testing](/studio/test/other-testing-tools/monkey)."]]