Automated Tester (Android)

Note: The Automated Tester feature is now built into theApp Testing agent. With the AppTesting agent you define test goals in natural language, and the agent uses AIto understand and navigate your app, simulate user interactions, and providedetailed test results.

The Automated Tester feature is apreviewrelease. A preview release is not subject to any SLA or deprecation policy andmay receive limited or no support. During preview,Test Labrates apply. We're committed to transparent pricing for theAutomatedTester feature and will share all the details before it graduates to generalavailability.

This guide describes how to automatically test your app using theApp DistributionAutomated Tester feature in theFirebase console. The Automated Testerperforms a random crawl through your app and reports on any problems it finds.

If you're looking for AI-powered testing, see theApp Testing agent instead.

Before you begin

If you haven't already,add Firebase to your Android project.

If you aren't using any other Firebase products, you only have to create aproject and register your app. However, if you decide to use additional productsin the future, be sure to complete all of the steps inAdd Firebase using theFirebase console.

Caution: When you register your app with Firebase, make sure to enter the same package name as the app you're distributing. The package name value is case-sensitive and cannot be changed for your app in Firebase after it's registered with your Firebase project.

When you're ready to distribute a pre-release version of your app to testers,build your APK using your normal process. You must sign the APK with your debugkey or app signing key.

Distribute your app to Automated Tester using the Firebase console

The Automated Tester feature is now built into theApp Testing agent. To use it,run a testin the Firebase console and choose "Random crawl".

Distribute your app to Automated Tester using the Firebase CLI

Run theappdistribution:distribute command to upload your app and distribute it to testers. Use the following parameters toconfigure your distribution to the Automated Tester feature:

appdistribution:distribute options
--test-devices or--test-devices-file

The test devices you want to distribute builds to the Automated Tester feature.

You can specify the test devices as a semicolon-separated list of test devices:

--test-devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Or, you can specify the path to a plain text file containing a semicolon-separated list of test devices:

--test-devices-file: "/path/to/test-devices.txt"
--test-username

The username for automatic login to be used duringautomated tests.

--test-password or--test-password-file

The password for automatic login to be used duringautomated tests.

Or, you can specify the path to a plain text file containing a password:

--test-password-file: "/path/to/test-password.txt"
--test-username-resource

Resource name for the username field for automatic login to be used duringautomated tests.

--test-password-resource

Resource name for the password field for automatic login to be used duringautomated tests.

--test-non-blocking

Runautomated tests asynchronously. Visit the Firebase console for the automatic test results.

For more information on getting started with the Firebase CLI and different ways to configure your distribution, seeDistribute Android apps to testers using the Firebase CLI.

Distribute your app to Automated Tester using Gradle

You can configureApp Distribution by adding at least onefirebaseAppDistributionsection and use the following parameters to configure the distribution to theAutomated Tester feature:

App Distribution Build Parameters
testDevices ortestDevicesFile

The test devices you want to distribute builds to usingautomated tests.

You can specify the test devices as a semicolon-separated list of device specifications

testDevices="model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Or you can specify the path to a file containing a semicolon-separated list of device specifications:

testDevicesFile="/path/to/testDevices.txt"
testUsername

The username for automatic login to be used duringautomated tests.

testUsernameResource

Resource name for the username field for automatic login to be used duringautomated tests.

testPassword ortestPasswordFile

The password for automatic login to be used duringautomated tests.

Or, you can specify the path to a plain text file containing a password:

testPasswordFile="/path/to/testPassword.txt"
testPasswordResource

Resource name for the password field for automatic login to be used duringautomated tests.

testNonBlocking

Runautomated tests asynchronously. Visit the FIrebase console for the automatic test results.

For more information on getting started with Gradle and different ways to configure your distribution, seeDistribute Android apps to testers using Gradle.

Distribute your app to Automated Tester using fastlane

In a./fastlane/Fastfile lane, add afirebase_app_distribution block. Use the following parameters toconfigure your distribution to the Automated Tester feature:

firebase_app_distribution parameters
test_devices ortest_devices_file

The test devices you want to distribute builds to the Automated Tester feature. You can specify the test devices as a semicolon-separated list of test devices:

test_devices: "model=shiba, version=34, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"

Or, you can specify the path to a plain text file containing a semicolon-separated list of test devices:

test_devices_file: "/path/to/test-devices.txt"
test_username

The username for automatic login to be used duringautomated tests.

test_password ortest_password_file

The password for automatic login to be used duringautomated tests.

Or, you can specify the path to a plain text file containing a password:

test_password_file: "/path/to/test-password.txt"
test_username_resource

Resource name for the username field for automatic login to be used duringautomated tests.

test_password_resource

Resource name for the password field for automatic login to be used duringautomated tests.

test_non_blocking

Runautomated tests asynchronously. Visit the FIrebase console for the automatic test results.

For more information on getting started with fastlane and different ways to configure your distribution, seeDistribute Android apps to testers using fastlane.

Automatic test crawl statuses

To help you interpret your test results, theAutomated test results tabshows any test issues, screenshots of the app, and a video of the test crawlfor each device. The status of the test can be found in your test results page:

Crawl statusDescription
PendingThe automatic test is still running and your results will be available soon.
PassedThe automatic test successfully crawled your app and did not find any crashes.
FailedThe automatic test failed because your app crashed during the test.
InconclusiveThe automatic test failed because of infrastructure errors.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-12-11 UTC.