HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //snap/google-cloud-cli/current/help/man/man1/gcloud_firebase_test_android_run.1
.TH "GCLOUD_FIREBASE_TEST_ANDROID_RUN" 1



.SH "NAME"
.HP
gcloud firebase test android run \- invoke a test in Firebase Test Lab for Android and view test results



.SH "SYNOPSIS"
.HP
\f5gcloud firebase test android run\fR [\fIARGSPEC\fR] [\fB\-\-app\fR=\fIAPP\fR] [\fB\-\-device\fR=\fIDIMENSION\fR=\fIVALUE\fR,[...]] [\fB\-\-test\fR=\fITEST\fR] [\fB\-\-timeout\fR=\fITIMEOUT\fR] [\fB\-\-type\fR=\fITYPE\fR] [\fB\-\-additional\-apks\fR=\fIAPK\fR,[\fIAPK\fR,...]] [\fB\-\-app\-package\fR=\fIAPP_PACKAGE\fR] [\fB\-\-async\fR] [\fB\-\-auto\-google\-login\fR] [\fB\-\-client\-details\fR=[\fIKEY\fR=\fIVALUE\fR,...]] [\fB\-\-directories\-to\-pull\fR=[\fIDIR_TO_PULL\fR,...]] [\fB\-\-environment\-variables\fR=[\fIKEY\fR=\fIVALUE\fR,...]] [\fB\-\-network\-profile\fR=\fIPROFILE_ID\fR] [\fB\-\-num\-flaky\-test\-attempts\fR=\fIint\fR] [\fB\-\-obb\-files\fR=\fIOBB_FILE\fR,[\fIOBB_FILE\fR]] [\fB\-\-other\-files\fR=\fIDEVICE_PATH\fR=\fIFILE_PATH\fR,[...]] [\fB\-\-performance\-metrics\fR] [\fB\-\-record\-video\fR] [\fB\-\-results\-bucket\fR=\fIRESULTS_BUCKET\fR] [\fB\-\-results\-dir\fR=\fIRESULTS_DIR\fR] [\fB\-\-results\-history\-name\fR=\fIRESULTS_HISTORY_NAME\fR] [\fB\-\-scenario\-labels\fR=\fILABEL\fR,[\fILABEL\fR,...]] [\fB\-\-scenario\-numbers\fR=\fIint\fR,[\fIint\fR,...]] [\fB\-\-test\-package\fR=\fITEST_PACKAGE\fR] [\fB\-\-test\-runner\-class\fR=\fITEST_RUNNER_CLASS\fR] [\fB\-\-test\-targets\fR=\fITEST_TARGET\fR,[\fITEST_TARGET\fR,...]] [\fB\-\-use\-orchestrator\fR] [\fB\-\-resign\fR] [\fB\-\-robo\-directives\fR=[\fITYPE\fR:\fIRESOURCE_NAME\fR=\fIINPUT\fR,...]] [\fB\-\-robo\-script\fR=\fIROBO_SCRIPT\fR] [\fB\-\-device\-ids\fR=\fIMODEL_ID\fR,[\fIMODEL_ID\fR,...],\ \fB\-d\fR\ \fIMODEL_ID\fR,[\fIMODEL_ID\fR,...]] [\fB\-\-locales\fR=\fILOCALE\fR,[\fILOCALE\fR,...],\ \fB\-l\fR\ \fILOCALE\fR,[\fILOCALE\fR,...]] [\fB\-\-orientations\fR=\fIORIENTATION\fR,[\fIORIENTATION\fR],\ \fB\-o\fR\ \fIORIENTATION\fR,[\fIORIENTATION\fR]] [\fB\-\-os\-version\-ids\fR=\fIOS_VERSION_ID\fR,[...],\ \fB\-v\fR\ \fIOS_VERSION_ID\fR,[...]] [\fB\-\-filter\fR=\fIEXPRESSION\fR] [\fB\-\-limit\fR=\fILIMIT\fR] [\fB\-\-page\-size\fR=\fIPAGE_SIZE\fR] [\fB\-\-sort\-by\fR=[\fIFIELD\fR,...]] [\fIGCLOUD_WIDE_FLAG\ ...\fR]



.SH "DESCRIPTION"

\fBgcloud firebase test android run\fR invokes and monitors tests in Firebase
Test Lab for Android.

Three main types of Android tests are currently supported:
.RS 2m
.IP "\(bu" 2m
\fBrobo\fR: runs a smart, automated exploration of the activities in your
Android app which records any installation failures or crashes and builds an
activity map with associated screenshots and video.
.IP "\(bu" 2m
\fBinstrumentation\fR: runs automated unit or integration tests written using a
testing framework. Firebase Test Lab for Android currently supports the Espresso
and UI Automator 2.0 testing frameworks.
.IP "\(bu" 2m
\fBgame\-loop\fR: executes a special intent built into the game app (a "demo
mode") that simulates the actions of a real player. This test type can include
multiple game loops (also called "scenarios"), which can be logically organized
using scenario labels so that you can run related loops together. Refer to
https://firebase.google.com/docs/test\-lab/android/game\-loop for more
information about how to build and run Game Loop tests.
.RE
.sp

The type of test to run can be specified with the \fB\-\-type\fR flag, although
the type can often be inferred from other flags. Specifically, if the
\fB\-\-test\fR flag is present, the test \fB\-\-type\fR defaults to
\f5instrumentation\fR. If \fB\-\-test\fR is not present, then \fB\-\-type\fR
defaults to \f5robo\fR.

All arguments for \fBgcloud firebase test android run\fR may be specified on the
command line and/or within an argument file. Run \fB$ gcloud topic arg\-files\fR
for more information about argument files.



.SH "EXAMPLES"

To invoke a robo test lasting 100 seconds against the default device
environment, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \-\-timeout=100s
.RE

When specifying devices to test against, the preferred method is to use the
\-\-device flag. For example, to invoke a robo test against a virtual, generic
MDPI Nexus device in landscape orientation, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \e
    \-\-device=model=NexusLowRes,orientation=landscape
.RE

To invoke an instrumentation test against a physical Nexus 6 device (MODEL_ID:
shamu) which is running Android API level 21 in French, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \-\-test=TEST_APK \e
    \-\-device=model=shamu,version=21,locale=fr
.RE

To test against multiple devices, specify \-\-device more than once:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \-\-test=TEST_APK \e
    \-\-device=model=Nexus4,version=19 \e
    \-\-device=model=Nexus4,version=21 \e
    \-\-device=model=NexusLowRes,version=25
.RE

To invoke a robo test on an Android App Bundle, pass the .aab file using the
\-\-app flag.

.RS 2m
$ gcloud firebase test android run \-\-app=bundle.aab
.RE

You may also use the legacy dimension flags (deprecated) to specify which
devices to use. Firebase Test Lab will run tests against every possible
combination of the listed device dimensions. Note that some combinations of
device models and OS versions may not be valid or available in Test Lab. Any
unsupported combinations of dimensions in the test matrix will be skipped.

For example, to execute a series of 5\-minute robo tests against a very
comprehensive matrix of virtual and physical devices, OS versions, locales and
orientations, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \-\-timeout=5m \e
    \-\-device\-ids=shamu,NexusLowRes,Nexus5,g3,zeroflte \e
    \-\-os\-version\-ids=19,21,22,23,24,25 \-\-locales=en_GB,es,fr,ru,zh \e
    \-\-orientations=portrait,landscape
.RE

The above command will generate a test matrix with a total of 300 test
executions, but only the subset of executions with valid dimension combinations
will actually run your tests.

To help you identify and locate your test matrix in the Firebase console, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \e
    \-\-client\-details=matrixLabel="Example matrix label"
.RE

Controlling Results Storage

By default, Firebase Test Lab stores detailed test results for a limited time in
a Google Cloud Storage bucket provided for you at no charge. Note: This requires
the principal executing the test to have "roles/editor" role for the project. If
either you do not have that role, you wish to use a storage bucket that you
control, or you need to retain detailed test results for a longer period, use
the \fB\-\-results\-bucket\fR option. See
https://firebase.google.com/docs/test\-lab/analyzing\-results#detailed for more
information.

Detailed test result files are prefixed by default with a timestamp and a random
character string. If you require a predictable path where detailed test results
are stored within the results bucket (say, if you have a Continuous Integration
system which does custom post\-processing of test result artifacts), use the
\fB\-\-results\-dir\fR option. \fINote that each test invocation \fBmust\fR have
a unique storage location, so never reuse the same value for
\fB\-\-results\-dir\fR between different test runs\fR. Possible strategies could
include using a UUID or sequence number for \fB\-\-results\-dir\fR.

For example, to run a robo test using a specific Google Cloud Storage location
to hold the raw test results, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \e
    \-\-results\-bucket=gs://my\-bucket \e
    \-\-results\-dir=my/test/results/<unique\-value>
.RE

To run an instrumentation test and specify a custom name under which the history
of your tests will be collected and displayed in the Firebase console, run:

.RS 2m
$ gcloud firebase test android run \-\-app=APP_APK \-\-test=TEST_APK \e
    \-\-results\-history\-name='Excelsior App Test History'
.RE

Argument Files

All test arguments for a given test may alternatively be stored in an argument
group within a YAML\-formatted argument file. The \fIARG_FILE\fR may contain one
or more named argument groups, and argument groups may be combined using the
\f5include:\fR attribute (Run \fB$ gcloud topic arg\-files\fR for more
information). The ARG_FILE can easily be shared with colleagues or placed under
source control to ensure consistent test executions.

To run a test using arguments loaded from an ARG_FILE named
\fBexcelsior_args\fR, which contains an argument group named \fBrobo\-args:\fR,
use the following syntax:

.RS 2m
$ gcloud firebase test android run path/to/excelsior_args:robo\-args
.RE



.SH "POSITIONAL ARGUMENTS"

.RS 2m
.TP 2m
[\fIARGSPEC\fR]

An ARG_FILE:ARG_GROUP_NAME pair, where ARG_FILE is the path to a file containing
groups of test arguments in yaml format, and ARG_GROUP_NAME is the particular
yaml object holding a group of arg:value pairs to use. Run \fB$ gcloud topic
arg\-files\fR for more information and examples.


.RE
.sp

.SH "COMMONLY USED FLAGS"

.RS 2m
.TP 2m
\fB\-\-app\fR=\fIAPP\fR

The path to the application binary file. The path may be in the local filesystem
or in Google Cloud Storage using gs:// notation. Android App Bundles are
specified as .aab, all other files are assumed to be APKs.

.TP 2m
\fB\-\-device\fR=\fIDIMENSION\fR=\fIVALUE\fR,[...]

A list of \f5\fIDIMENSION=VALUE\fR\fR pairs which specify a target device to
test against. This flag may be repeated to specify multiple devices. The four
device dimensions are: \fBmodel\fR, \fBversion\fR, \fBlocale\fR, and
\fBorientation\fR. If any dimensions are omitted, they will use a default value.
The default value, and all possible values, for each dimension can be found with
the \f5\fIlist\fR\fR command for that dimension, such as \f5$ gcloud firebase
test android models list\fR. \fB\-\-device\fR is now the preferred way to
specify test devices and may not be used in conjunction with
\fB\-\-devices\-ids\fR, \fB\-\-os\-version\-ids\fR, \fB\-\-locales\fR, or
\fB\-\-orientations\fR. Omitting all of the preceding dimension\-related flags
will run tests against a single device using defaults for all four device
dimensions.

Examples:

.RS 2m
\-\-device model=Nexus6
\-\-device version=23,orientation=portrait
\-\-device model=shamu,version=22,locale=zh_CN,orientation=default
.RE

.TP 2m
\fB\-\-test\fR=\fITEST\fR

The path to the binary file containing instrumentation tests. The given path may
be in the local filesystem or in Google Cloud Storage using a URL beginning with
\f5gs://\fR.

.TP 2m
\fB\-\-timeout\fR=\fITIMEOUT\fR

The max time this test execution can run before it is cancelled (default: 15m).
It does not include any time necessary to prepare and clean up the target
device. The maximum possible testing time is 45m on physical devices and 60m on
virtual devices. The \fITIMEOUT\fR units can be h, m, or s. If no unit is given,
seconds are assumed. Examples:
.RS 2m
.IP "\(em" 2m
\fB\-\-timeout 1h\fR is 1 hour
.IP "\(em" 2m
\fB\-\-timeout 5m\fR is 5 minutes
.IP "\(em" 2m
\fB\-\-timeout 200s\fR is 200 seconds
.IP "\(em" 2m
\fB\-\-timeout 100\fR is 100 seconds
.RE
.sp

.TP 2m
\fB\-\-type\fR=\fITYPE\fR

The type of test to run. \fITYPE\fR must be one of: \fBinstrumentation\fR,
\fBrobo\fR, \fBgame\-loop\fR.


.RE
.sp

.SH "FLAGS"

.RS 2m
.TP 2m
\fB\-\-additional\-apks\fR=\fIAPK\fR,[\fIAPK\fR,...]

A list of up to 100 additional APKs to install, in addition to those being
directly tested. The path may be in the local filesystem or in Google Cloud
Storage using gs:// notation.

.TP 2m
\fB\-\-app\-package\fR=\fIAPP_PACKAGE\fR

(REMOVED) The Java package of the application under test. By default, the
application package name is parsed from the APK manifest.

Flag \-\-app\-package has been removed.

.TP 2m
\fB\-\-async\fR

Invoke a test asynchronously without waiting for test results.

.TP 2m
\fB\-\-auto\-google\-login\fR

Automatically log into the test device using a preconfigured Google account
before beginning the test. Enabled by default, use \-\-no\-auto\-google\-login
to disable.

.TP 2m
\fB\-\-client\-details\fR=[\fIKEY\fR=\fIVALUE\fR,...]

Comma\-separated, KEY=VALUE map of additional details to attach to the test
matrix. Arbitrary KEY=VALUE pairs may be attached to a test matrix to provide
additional context about the tests being run. When consuming the test results,
such as in Cloud Functions or a CI system, these details can add additional
context such as a link to the corresponding pull request.

Example:

.RS 2m
\-\-client\-details=buildNumber=1234,pullRequest=https://example.com/link/to/pull\-request
.RE

To help you identify and locate your test matrix in the Firebase console, use
the matrixLabel key.

Example:

.RS 2m
\-\-client\-details=matrixLabel="Example matrix label"
.RE

.TP 2m
\fB\-\-directories\-to\-pull\fR=[\fIDIR_TO_PULL\fR,...]

A list of paths that will be copied from the device's storage to the designated
results bucket after the test is complete. These must be absolute paths under
\f5/sdcard\fR, \f5/storage\fR, or \f5/data/local/tmp\fR (for example,
\f5\-\-directories\-to\-pull /sdcard/tempDir1,/data/local/tmp/tempDir2\fR). Path
names are restricted to the characters \f5a\-zA\-Z0\-9_\-./+\fR. The paths
\f5/sdcard\fR and \f5/data\fR will be made available and treated as implicit
path substitutions. E.g. if \f5/sdcard\fR on a particular device does not map to
external storage, the system will replace it with the external storage path
prefix for that device. Note that access to some directories on API levels 29
and later may also be limited by scoped storage rules.

.TP 2m
\fB\-\-environment\-variables\fR=[\fIKEY\fR=\fIVALUE\fR,...]

A comma\-separated, key=value map of environment variables and their desired
values. The environment variables are mirrored as extra options to the \f5am
instrument \-e KEY1 VALUE1 ...\fR command and passed to your test runner
(typically AndroidJUnitRunner). Examples:

Enable code coverage and provide a directory to store the coverage results when
using Android Test Orchestrator (\f5\-\-use\-orchestrator\fR):

.RS 2m
\-\-environment\-variables clearPackageData=true,coverage=true,coverageFilePath=/sdcard/Download/
.RE

Enable code coverage and provide a file path to store the coverage results when
\fBnot\fR using Android Test Orchestrator (\f5\-\-no\-use\-orchestrator\fR):

.RS 2m
\-\-environment\-variables coverage=true,coverageFile=/sdcard/Download/coverage.ec
.RE

Note: If you need to embed a comma into a \f5VALUE\fR string, please refer to
\f5gcloud topic escaping\fR for ways to change the default list delimiter.

.TP 2m
\fB\-\-network\-profile\fR=\fIPROFILE_ID\fR

The name of the network traffic profile, for example
\f5\-\-network\-profile=LTE\fR, which consists of a set of parameters to emulate
network conditions when running the test (default: no network shaping; see
available profiles listed by the $ gcloud firebase test network\-profiles list
command). This feature only works on physical devices.

.TP 2m
\fB\-\-num\-flaky\-test\-attempts\fR=\fIint\fR

Specifies the number of times a test execution should be reattempted if one or
more of its test cases fail for any reason. An execution that initially fails
but succeeds on any reattempt is reported as FLAKY.

The maximum number of reruns allowed is 10. (Default: 0, which implies no
reruns.) All additional attempts are executed in parallel.

.TP 2m
\fB\-\-obb\-files\fR=\fIOBB_FILE\fR,[\fIOBB_FILE\fR]

A list of one or two Android OBB file names which will be copied to each test
device before the tests will run (default: None). Each OBB file name must
conform to the format as specified by Android (e.g.
[main|patch].0300110.com.example.android.obb) and will be installed into
<shared\-storage>/Android/obb/<package\-name>/ on the test device.

.TP 2m
\fB\-\-other\-files\fR=\fIDEVICE_PATH\fR=\fIFILE_PATH\fR,[...]

A list of device\-path=file\-path pairs that indicate the device paths to push
files to the device before starting tests, and the paths of files to push.

Device paths must be under absolute, approved paths (${EXTERNAL_STORAGE}, or
${ANDROID_DATA}/local/tmp). Source file paths may be in the local filesystem or
in Google Cloud Storage (gs://...).

Examples:

.RS 2m
\-\-other\-files /sdcard/dir1/file1.txt=local/file.txt,/storage/dir2/file2.jpg=gs://bucket/file.jpg
.RE

This flag only copies files to the device. To install files, like OBB or APK
files, see \-\-obb\-files and \-\-additional\-apks.

.TP 2m
\fB\-\-performance\-metrics\fR

Monitor and record performance metrics: CPU, memory, network usage, and FPS
(game\-loop only). Enabled by default, use \-\-no\-performance\-metrics to
disable.

.TP 2m
\fB\-\-record\-video\fR

Enable video recording during the test. Enabled by default, use
\-\-no\-record\-video to disable.

.TP 2m
\fB\-\-results\-bucket\fR=\fIRESULTS_BUCKET\fR

The name of a Google Cloud Storage bucket where raw test results will be stored
(default: "test\-lab\-<random\-UUID>"). Note that the bucket must be owned by a
billing\-enabled project, and that using a non\-default bucket will result in
billing charges for the storage used.

.TP 2m
\fB\-\-results\-dir\fR=\fIRESULTS_DIR\fR

The name of a \fBunique\fR Google Cloud Storage object within the results bucket
where raw test results will be stored (default: a timestamp with a random
suffix). Caution: if specified, this argument \fBmust be unique\fR for each test
matrix you create, otherwise results from multiple test matrices will be
overwritten or intermingled.

.TP 2m
\fB\-\-results\-history\-name\fR=\fIRESULTS_HISTORY_NAME\fR

The history name for your test results (an arbitrary string label; default: the
application's label from the APK manifest). All tests which use the same history
name will have their results grouped together in the Firebase console in a
time\-ordered test history list.


.RE
.sp

.SH "ANDROID GAME\-LOOP TEST FLAGS"

.RS 2m
.TP 2m
\fB\-\-scenario\-labels\fR=\fILABEL\fR,[\fILABEL\fR,...]

A list of game\-loop scenario labels (default: None). Each game\-loop scenario
may be labeled in the APK manifest file with one or more arbitrary strings,
creating logical groupings (e.g. GPU_COMPATIBILITY_TESTS). If
\fB\-\-scenario\-numbers\fR and \fB\-\-scenario\-labels\fR are specified
together, Firebase Test Lab will first execute each scenario from
\fB\-\-scenario\-numbers\fR. It will then expand each given scenario label into
a list of scenario numbers marked with that label, and execute those scenarios.

.TP 2m
\fB\-\-scenario\-numbers\fR=\fIint\fR,[\fIint\fR,...]

A list of game\-loop scenario numbers which will be run as part of the test
(default: all scenarios). A maximum of 1024 scenarios may be specified in one
test matrix, but the maximum number may also be limited by the overall test
\fB\-\-timeout\fR setting.


.RE
.sp

.SH "ANDROID INSTRUMENTATION TEST FLAGS"

.RS 2m
.TP 2m
\fB\-\-test\-package\fR=\fITEST_PACKAGE\fR

(REMOVED) The Java package name of the instrumentation test. By default, the
test package name is parsed from the APK manifest.

Flag \-\-test\-package has been removed.

.TP 2m
\fB\-\-test\-runner\-class\fR=\fITEST_RUNNER_CLASS\fR

The fully\-qualified Java class name of the instrumentation test runner
(default: the last name extracted from the APK manifest).

.TP 2m
\fB\-\-test\-targets\fR=\fITEST_TARGET\fR,[\fITEST_TARGET\fR,...]

A list of one or more test target filters to apply (default: run all test
targets). Each target filter must be fully qualified with the package name,
class name, or test annotation desired. Any test filter supported by \f5am
instrument \-e ...\fR is supported. See
https://developer.android.com/reference/androidx/test/runner/AndroidJUnitRunner
for more information. Examples:

.RS 2m
.IP "\(em" 2m
\f5\-\-test\-targets "package com.my.package.name"\fR
.IP "\(em" 2m
\f5\-\-test\-targets "notPackage com.package.to.skip"\fR
.IP "\(em" 2m
\f5\-\-test\-targets "class com.foo.ClassName"\fR
.IP "\(em" 2m
\f5\-\-test\-targets "notClass com.foo.ClassName#testMethodToSkip"\fR
.IP "\(em" 2m
\f5\-\-test\-targets "annotation com.foo.AnnotationToRun"\fR
.IP "\(em" 2m
\f5\-\-test\-targets "size large notAnnotation com.foo.AnnotationToSkip"\fR
.RE
.sp

.TP 2m
\fB\-\-use\-orchestrator\fR

Whether each test runs in its own Instrumentation instance with the Android Test
Orchestrator (default: Orchestrator is not used, same as specifying
\-\-no\-use\-orchestrator). Orchestrator is only compatible with
AndroidJUnitRunner v1.1 or higher. See
https://developer.android.com/training/testing/junit\-runner.html#using\-android\-test\-orchestrator
for more information about Android Test Orchestrator.


.RE
.sp

.SH "ANDROID ROBO TEST FLAGS"

.RS 2m
.TP 2m
\fB\-\-resign\fR

Make Robo re\-sign the app\-under\-test APK for a higher quality crawl. If your
app cannot properly function when re\-signed, disable this feature. When an
app\-under\-test APK is not re\-signed, Robo crawl is slower and Robo has access
to less information about the state of the crawled app, which reduces crawl
quality. Consequently, if your Roboscript has actions on elements of
RecyclerView or AdapterView, and you disable APK re\-signing, those actions
might require manual tweaking because Robo does not identify RecyclerView and
AdapterView in this mode. Enabled by default, use \f5\-\-no\-resign\fR to
disable.

.TP 2m
\fB\-\-robo\-directives\fR=[\fITYPE\fR:\fIRESOURCE_NAME\fR=\fIINPUT\fR,...]

A comma\-separated (\f5<type>:<key>=<value>\fR) map of \f5robo_directives\fR
that you can use to customize the behavior of Robo test. The \f5type\fR
specifies the action type of the directive, which may take on values
\f5click\fR, \f5text\fR or \f5ignore\fR. If no \f5type\fR is provided,
\f5text\fR will be used by default. Each key should be the Android resource name
of a target UI element and each value should be the text input for that element.
Values are only permitted for \f5text\fR type elements, so no value should be
specified for \f5click\fR and \f5ignore\fR type elements. No more than one
\f5click\fR element is allowed.

To provide custom login credentials for your app, use

.RS 2m
\-\-robo\-directives text:username_resource=username,text:password_resource=password
.RE

To instruct Robo to click on the sign\-in button, use

.RS 2m
\-\-robo\-directives click:sign_in_button=
.RE

To instruct Robo to ignore any UI elements with resource names which equal or
start with the user\-defined value, use

.RS 2m
\-\-robo\-directives ignore:ignored_ui_element_resource_name=
.RE

To learn more about Robo test and robo_directives, see
https://firebase.google.com/docs/test\-lab/android/command\-line#custom_login_and_text_input_with_robo_test.

Caution: You should only use credentials for test accounts that are not
associated with real users.

.TP 2m
\fB\-\-robo\-script\fR=\fIROBO_SCRIPT\fR

The path to a Robo Script JSON file. The path may be in the local filesystem or
in Google Cloud Storage using gs:// notation. You can guide the Robo test to
perform specific actions by recording a Robo Script in Android Studio and then
specifying this argument. Learn more at
https://firebase.google.com/docs/test\-lab/robo\-ux\-test#scripting.


.RE
.sp

.SH "DEPRECATED DEVICE DIMENSIONS FLAGS"

.RS 2m
.TP 2m
\fB\-\-device\-ids\fR=\fIMODEL_ID\fR,[\fIMODEL_ID\fR,...], \fB\-d\fR \fIMODEL_ID\fR,[\fIMODEL_ID\fR,...]

The list of MODEL_IDs to test against (default: one device model determined by
the Firebase Test Lab device catalog; see TAGS listed by the \f5$ gcloud
firebase test android models list\fR command).

.TP 2m
\fB\-\-locales\fR=\fILOCALE\fR,[\fILOCALE\fR,...], \fB\-l\fR \fILOCALE\fR,[\fILOCALE\fR,...]

The list of LOCALEs to test against (default: a single locale determined by the
Firebase Test Lab device catalog).

.TP 2m
\fB\-\-orientations\fR=\fIORIENTATION\fR,[\fIORIENTATION\fR], \fB\-o\fR \fIORIENTATION\fR,[\fIORIENTATION\fR]

The device orientation(s) to test against (default: portrait). Specifying
\'default' will pick the preferred orientation for the app. \fIORIENTATION\fR
must be one of: \fBportrait\fR, \fBlandscape\fR, \fBdefault\fR.

.TP 2m
\fB\-\-os\-version\-ids\fR=\fIOS_VERSION_ID\fR,[...], \fB\-v\fR \fIOS_VERSION_ID\fR,[...]

The list of OS_VERSION_IDs to test against (default: a version ID determined by
the Firebase Test Lab device catalog).


.RE
.sp

.SH "LIST COMMAND FLAGS"

.RS 2m
.TP 2m
\fB\-\-filter\fR=\fIEXPRESSION\fR

Apply a Boolean filter \fIEXPRESSION\fR to each resource item to be listed. If
the expression evaluates \f5True\fR, then that item is listed. For more details
and examples of filter expressions, run $ gcloud topic filters. This flag
interacts with other flags that are applied in this order: \fB\-\-flatten\fR,
\fB\-\-sort\-by\fR, \fB\-\-filter\fR, \fB\-\-limit\fR.

.TP 2m
\fB\-\-limit\fR=\fILIMIT\fR

Maximum number of resources to list. The default is \fBunlimited\fR. This flag
interacts with other flags that are applied in this order: \fB\-\-flatten\fR,
\fB\-\-sort\-by\fR, \fB\-\-filter\fR, \fB\-\-limit\fR.

.TP 2m
\fB\-\-page\-size\fR=\fIPAGE_SIZE\fR

Some services group resource list output into pages. This flag specifies the
maximum number of resources per page. The default is determined by the service
if it supports paging, otherwise it is \fBunlimited\fR (no paging). Paging may
be applied before or after \fB\-\-filter\fR and \fB\-\-limit\fR depending on the
service.

.TP 2m
\fB\-\-sort\-by\fR=[\fIFIELD\fR,...]

Comma\-separated list of resource field key names to sort by. The default order
is ascending. Prefix a field with ``~'' for descending order on that field. This
flag interacts with other flags that are applied in this order:
\fB\-\-flatten\fR, \fB\-\-sort\-by\fR, \fB\-\-filter\fR, \fB\-\-limit\fR.


.RE
.sp

.SH "GCLOUD WIDE FLAGS"

These flags are available to all commands: \-\-access\-token\-file, \-\-account,
\-\-billing\-project, \-\-configuration, \-\-flags\-file, \-\-flatten,
\-\-format, \-\-help, \-\-impersonate\-service\-account, \-\-log\-http,
\-\-project, \-\-quiet, \-\-trace\-token, \-\-user\-output\-enabled,
\-\-verbosity.

Run \fB$ gcloud help\fR for details.



.SH "NOTES"

These variants are also available:

.RS 2m
$ gcloud alpha firebase test android run
.RE

.RS 2m
$ gcloud beta firebase test android run
.RE