1"""Generated message classes for testing version v1.
2
3Allows developers to run automated tests for their mobile applications on
4Google infrastructure.
5"""
6# NOTE: This file is autogenerated and should not be edited by hand.
7
8from __future__ import absolute_import
9
10from apitools.base.protorpclite import messages as _messages
11from apitools.base.py import encoding
12
13
14package = 'testing'
15
16
17class Account(_messages.Message):
18  r"""Identifies an account and how to log into it.
19
20  Fields:
21    googleAuto: An automatic google login account.
22  """
23
24  googleAuto = _messages.MessageField('GoogleAuto', 1)
25
26
27class AndroidDevice(_messages.Message):
28  r"""A single Android device.
29
30  Fields:
31    androidModelId: Required. The id of the Android device to be used. Use the
32      TestEnvironmentDiscoveryService to get supported options.
33    androidVersionId: Required. The id of the Android OS version to be used.
34      Use the TestEnvironmentDiscoveryService to get supported options.
35    locale: Required. The locale the test device used for testing. Use the
36      TestEnvironmentDiscoveryService to get supported options.
37    orientation: Required. How the device is oriented during the test. Use the
38      TestEnvironmentDiscoveryService to get supported options.
39  """
40
41  androidModelId = _messages.StringField(1)
42  androidVersionId = _messages.StringField(2)
43  locale = _messages.StringField(3)
44  orientation = _messages.StringField(4)
45
46
47class AndroidDeviceCatalog(_messages.Message):
48  r"""The currently supported Android devices.
49
50  Fields:
51    models: The set of supported Android device models.
52    runtimeConfiguration: The set of supported runtime configurations.
53    versions: The set of supported Android OS versions.
54  """
55
56  models = _messages.MessageField('AndroidModel', 1, repeated=True)
57  runtimeConfiguration = _messages.MessageField('AndroidRuntimeConfiguration', 2)
58  versions = _messages.MessageField('AndroidVersion', 3, repeated=True)
59
60
61class AndroidDeviceList(_messages.Message):
62  r"""A list of Android device configurations in which the test is to be
63  executed.
64
65  Fields:
66    androidDevices: Required. A list of Android devices.
67  """
68
69  androidDevices = _messages.MessageField('AndroidDevice', 1, repeated=True)
70
71
72class AndroidInstrumentationTest(_messages.Message):
73  r"""A test of an Android application that can control an Android component
74  independently of its normal lifecycle. Android instrumentation tests run an
75  application APK and test APK inside the same process on a virtual or
76  physical AndroidDevice. They also specify a test runner class, such as
77  com.google.GoogleTestRunner, which can vary on the specific instrumentation
78  framework chosen. See for more information on types of Android tests.
79
80  Enums:
81    OrchestratorOptionValueValuesEnum: The option of whether running each test
82      within its own invocation of instrumentation with Android Test
83      Orchestrator or not. ** Orchestrator is only compatible with
84      AndroidJUnitRunner version 1.0 or higher! ** Orchestrator offers the
85      following benefits: - No shared state - Crashes are isolated - Logs are
86      scoped per test See for more information about Android Test
87      Orchestrator. If not set, the test will be run without the orchestrator.
88
89  Fields:
90    appApk: The APK for the application under test.
91    appBundle: A multi-apk app bundle for the application under test.
92    appPackageId: The java package for the application under test. The default
93      value is determined by examining the application's manifest.
94    orchestratorOption: The option of whether running each test within its own
95      invocation of instrumentation with Android Test Orchestrator or not. **
96      Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
97      higher! ** Orchestrator offers the following benefits: - No shared state
98      - Crashes are isolated - Logs are scoped per test See for more
99      information about Android Test Orchestrator. If not set, the test will
100      be run without the orchestrator.
101    shardingOption: The option to run tests in multiple shards in parallel.
102    testApk: Required. The APK containing the test code to be executed.
103    testPackageId: The java package for the test to be executed. The default
104      value is determined by examining the application's manifest.
105    testRunnerClass: The InstrumentationTestRunner class. The default value is
106      determined by examining the application's manifest.
107    testTargets: Each target must be fully qualified with the package name or
108      class name, in one of these formats: - "package package_name" - "class
109      package_name.class_name" - "class package_name.class_name#method_name"
110      If empty, all targets in the module will be run.
111  """
112
113  class OrchestratorOptionValueValuesEnum(_messages.Enum):
114    r"""The option of whether running each test within its own invocation of
115    instrumentation with Android Test Orchestrator or not. ** Orchestrator is
116    only compatible with AndroidJUnitRunner version 1.0 or higher! **
117    Orchestrator offers the following benefits: - No shared state - Crashes
118    are isolated - Logs are scoped per test See for more information about
119    Android Test Orchestrator. If not set, the test will be run without the
120    orchestrator.
121
122    Values:
123      ORCHESTRATOR_OPTION_UNSPECIFIED: Default value: the server will choose
124        the mode. Currently implies that the test will run without the
125        orchestrator. In the future, all instrumentation tests will be run
126        with the orchestrator. Using the orchestrator is highly encouraged
127        because of all the benefits it offers.
128      USE_ORCHESTRATOR: Run test using orchestrator. ** Only compatible with
129        AndroidJUnitRunner version 1.0 or higher! ** Recommended.
130      DO_NOT_USE_ORCHESTRATOR: Run test without using orchestrator.
131    """
132    ORCHESTRATOR_OPTION_UNSPECIFIED = 0
133    USE_ORCHESTRATOR = 1
134    DO_NOT_USE_ORCHESTRATOR = 2
135
136  appApk = _messages.MessageField('FileReference', 1)
137  appBundle = _messages.MessageField('AppBundle', 2)
138  appPackageId = _messages.StringField(3)
139  orchestratorOption = _messages.EnumField('OrchestratorOptionValueValuesEnum', 4)
140  shardingOption = _messages.MessageField('ShardingOption', 5)
141  testApk = _messages.MessageField('FileReference', 6)
142  testPackageId = _messages.StringField(7)
143  testRunnerClass = _messages.StringField(8)
144  testTargets = _messages.StringField(9, repeated=True)
145
146
147class AndroidMatrix(_messages.Message):
148  r"""A set of Android device configuration permutations is defined by the the
149  cross-product of the given axes. Internally, the given AndroidMatrix will be
150  expanded into a set of AndroidDevices. Only supported permutations will be
151  instantiated. Invalid permutations (e.g., incompatible models/versions) are
152  ignored.
153
154  Fields:
155    androidModelIds: Required. The ids of the set of Android device to be
156      used. Use the TestEnvironmentDiscoveryService to get supported options.
157    androidVersionIds: Required. The ids of the set of Android OS version to
158      be used. Use the TestEnvironmentDiscoveryService to get supported
159      options.
160    locales: Required. The set of locales the test device will enable for
161      testing. Use the TestEnvironmentDiscoveryService to get supported
162      options.
163    orientations: Required. The set of orientations to test with. Use the
164      TestEnvironmentDiscoveryService to get supported options.
165  """
166
167  androidModelIds = _messages.StringField(1, repeated=True)
168  androidVersionIds = _messages.StringField(2, repeated=True)
169  locales = _messages.StringField(3, repeated=True)
170  orientations = _messages.StringField(4, repeated=True)
171
172
173class AndroidModel(_messages.Message):
174  r"""A description of an Android device tests may be run on.
175
176  Enums:
177    FormValueValuesEnum: Whether this device is virtual or physical.
178    FormFactorValueValuesEnum: Whether this device is a phone, tablet,
179      wearable, etc.
180
181  Fields:
182    brand: The company that this device is branded with. Example: "Google",
183      "Samsung".
184    codename: The name of the industrial design. This corresponds to
185      android.os.Build.DEVICE.
186    form: Whether this device is virtual or physical.
187    formFactor: Whether this device is a phone, tablet, wearable, etc.
188    id: The unique opaque id for this model. Use this for invoking the
189      TestExecutionService.
190    lowFpsVideoRecording: True if and only if tests with this model are
191      recorded by stitching together screenshots. See
192      use_low_spec_video_recording in device config.
193    manufacturer: The manufacturer of this device.
194    name: The human-readable marketing name for this device model. Examples:
195      "Nexus 5", "Galaxy S5".
196    screenDensity: Screen density in DPI. This corresponds to
197      ro.sf.lcd_density
198    screenX: Screen size in the horizontal (X) dimension measured in pixels.
199    screenY: Screen size in the vertical (Y) dimension measured in pixels.
200    supportedAbis: The list of supported ABIs for this device. This
201      corresponds to either android.os.Build.SUPPORTED_ABIS (for API level 21
202      and above) or android.os.Build.CPU_ABI/CPU_ABI2. The most preferred ABI
203      is the first element in the list. Elements are optionally prefixed by
204      "version_id:" (where version_id is the id of an AndroidVersion),
205      denoting an ABI that is supported only on a particular version.
206    supportedVersionIds: The set of Android versions this device supports.
207    tags: Tags for this dimension. Examples: "default", "preview",
208      "deprecated".
209    thumbnailUrl: URL of a thumbnail image (photo) of the device. e.g.
210      https://lh3.googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...
211  """
212
213  class FormFactorValueValuesEnum(_messages.Enum):
214    r"""Whether this device is a phone, tablet, wearable, etc.
215
216    Values:
217      DEVICE_FORM_FACTOR_UNSPECIFIED: Do not use. For proto versioning only.
218      PHONE: This device has the shape of a phone.
219      TABLET: This device has the shape of a tablet.
220      WEARABLE: This device has the shape of a watch or other wearable.
221    """
222    DEVICE_FORM_FACTOR_UNSPECIFIED = 0
223    PHONE = 1
224    TABLET = 2
225    WEARABLE = 3
226
227  class FormValueValuesEnum(_messages.Enum):
228    r"""Whether this device is virtual or physical.
229
230    Values:
231      DEVICE_FORM_UNSPECIFIED: Do not use. For proto versioning only.
232      VIRTUAL: Android virtual device using Compute Engine native
233        virtualization. Firebase Test Lab only.
234      PHYSICAL: Actual hardware.
235      EMULATOR: Android virtual device using emulator in nested
236        virtualization. Equivalent to Android Studio.
237    """
238    DEVICE_FORM_UNSPECIFIED = 0
239    VIRTUAL = 1
240    PHYSICAL = 2
241    EMULATOR = 3
242
243  brand = _messages.StringField(1)
244  codename = _messages.StringField(2)
245  form = _messages.EnumField('FormValueValuesEnum', 3)
246  formFactor = _messages.EnumField('FormFactorValueValuesEnum', 4)
247  id = _messages.StringField(5)
248  lowFpsVideoRecording = _messages.BooleanField(6)
249  manufacturer = _messages.StringField(7)
250  name = _messages.StringField(8)
251  screenDensity = _messages.IntegerField(9, variant=_messages.Variant.INT32)
252  screenX = _messages.IntegerField(10, variant=_messages.Variant.INT32)
253  screenY = _messages.IntegerField(11, variant=_messages.Variant.INT32)
254  supportedAbis = _messages.StringField(12, repeated=True)
255  supportedVersionIds = _messages.StringField(13, repeated=True)
256  tags = _messages.StringField(14, repeated=True)
257  thumbnailUrl = _messages.StringField(15)
258
259
260class AndroidRoboTest(_messages.Message):
261  r"""A test of an android application that explores the application on a
262  virtual or physical Android Device, finding culprits and crashes as it goes.
263  Next tag: 30
264
265  Fields:
266    appApk: The APK for the application under test.
267    appBundle: A multi-apk app bundle for the application under test.
268    appInitialActivity: The initial activity that should be used to start the
269      app.
270    appPackageId: The java package for the application under test. The default
271      value is determined by examining the application's manifest.
272    maxDepth: The max depth of the traversal stack Robo can explore. Needs to
273      be at least 2 to make Robo explore the app beyond the first activity.
274      Default is 50.
275    maxSteps: The max number of steps Robo can execute. Default is no limit.
276    roboDirectives: A set of directives Robo should apply during the crawl.
277      This allows users to customize the crawl. For example, the username and
278      password for a test account can be provided.
279    roboScript: A JSON file with a sequence of actions Robo should perform as
280      a prologue for the crawl.
281    startingIntents: The intents used to launch the app for the crawl. If none
282      are provided, then the main launcher activity is launched. If some are
283      provided, then only those provided are launched (the main launcher
284      activity must be provided explicitly).
285  """
286
287  appApk = _messages.MessageField('FileReference', 1)
288  appBundle = _messages.MessageField('AppBundle', 2)
289  appInitialActivity = _messages.StringField(3)
290  appPackageId = _messages.StringField(4)
291  maxDepth = _messages.IntegerField(5, variant=_messages.Variant.INT32)
292  maxSteps = _messages.IntegerField(6, variant=_messages.Variant.INT32)
293  roboDirectives = _messages.MessageField('RoboDirective', 7, repeated=True)
294  roboScript = _messages.MessageField('FileReference', 8)
295  startingIntents = _messages.MessageField('RoboStartingIntent', 9, repeated=True)
296
297
298class AndroidRuntimeConfiguration(_messages.Message):
299  r"""Android configuration that can be selected at the time a test is run.
300
301  Fields:
302    locales: The set of available locales.
303    orientations: The set of available orientations.
304  """
305
306  locales = _messages.MessageField('Locale', 1, repeated=True)
307  orientations = _messages.MessageField('Orientation', 2, repeated=True)
308
309
310class AndroidTestLoop(_messages.Message):
311  r"""A test of an Android Application with a Test Loop. The intent \ will be
312  implicitly added, since Games is the only user of this api, for the time
313  being.
314
315  Fields:
316    appApk: The APK for the application under test.
317    appBundle: A multi-apk app bundle for the application under test.
318    appPackageId: The java package for the application under test. The default
319      is determined by examining the application's manifest.
320    scenarioLabels: The list of scenario labels that should be run during the
321      test. The scenario labels should map to labels defined in the
322      application's manifest. For example, player_experience and
323      com.google.test.loops.player_experience add all of the loops labeled in
324      the manifest with the com.google.test.loops.player_experience name to
325      the execution. Scenarios can also be specified in the scenarios field.
326    scenarios: The list of scenarios that should be run during the test. The
327      default is all test loops, derived from the application's manifest.
328  """
329
330  appApk = _messages.MessageField('FileReference', 1)
331  appBundle = _messages.MessageField('AppBundle', 2)
332  appPackageId = _messages.StringField(3)
333  scenarioLabels = _messages.StringField(4, repeated=True)
334  scenarios = _messages.IntegerField(5, repeated=True, variant=_messages.Variant.INT32)
335
336
337class AndroidVersion(_messages.Message):
338  r"""A version of the Android OS.
339
340  Fields:
341    apiLevel: The API level for this Android version. Examples: 18, 19.
342    codeName: The code name for this Android version. Examples: "JellyBean",
343      "KitKat".
344    distribution: Market share for this version.
345    id: An opaque id for this Android version. Use this id to invoke the
346      TestExecutionService.
347    releaseDate: The date this Android version became available in the market.
348    tags: Tags for this dimension. Examples: "default", "preview",
349      "deprecated".
350    versionString: A string representing this version of the Android OS.
351      Examples: "4.3", "4.4".
352  """
353
354  apiLevel = _messages.IntegerField(1, variant=_messages.Variant.INT32)
355  codeName = _messages.StringField(2)
356  distribution = _messages.MessageField('Distribution', 3)
357  id = _messages.StringField(4)
358  releaseDate = _messages.MessageField('Date', 5)
359  tags = _messages.StringField(6, repeated=True)
360  versionString = _messages.StringField(7)
361
362
363class Apk(_messages.Message):
364  r"""An Android package file to install.
365
366  Fields:
367    location: The path to an APK to be installed on the device before the test
368      begins.
369    packageName: The java package for the APK to be installed. Value is
370      determined by examining the application's manifest.
371  """
372
373  location = _messages.MessageField('FileReference', 1)
374  packageName = _messages.StringField(2)
375
376
377class ApkDetail(_messages.Message):
378  r"""Android application details based on application manifest and apk
379  archive contents.
380
381  Fields:
382    apkManifest: A ApkManifest attribute.
383  """
384
385  apkManifest = _messages.MessageField('ApkManifest', 1)
386
387
388class ApkManifest(_messages.Message):
389  r"""An Android app manifest. See
390  http://developer.android.com/guide/topics/manifest/manifest-intro.html
391
392  Fields:
393    applicationLabel: User-readable name for the application.
394    intentFilters: A IntentFilter attribute.
395    maxSdkVersion: Maximum API level on which the application is designed to
396      run.
397    minSdkVersion: Minimum API level required for the application to run.
398    packageName: Full Java-style package name for this application, e.g.
399      "com.example.foo".
400    targetSdkVersion: Specifies the API Level on which the application is
401      designed to run.
402    usesPermission: Permissions declared to be used by the application
403  """
404
405  applicationLabel = _messages.StringField(1)
406  intentFilters = _messages.MessageField('IntentFilter', 2, repeated=True)
407  maxSdkVersion = _messages.IntegerField(3, variant=_messages.Variant.INT32)
408  minSdkVersion = _messages.IntegerField(4, variant=_messages.Variant.INT32)
409  packageName = _messages.StringField(5)
410  targetSdkVersion = _messages.IntegerField(6, variant=_messages.Variant.INT32)
411  usesPermission = _messages.StringField(7, repeated=True)
412
413
414class AppBundle(_messages.Message):
415  r"""An Android App Bundle file format, containing a BundleConfig.pb file, a
416  base module directory, zero or more dynamic feature module directories. See
417  https://developer.android.com/guide/app-bundle/build for guidance on
418  building App Bundles.
419
420  Fields:
421    bundleLocation: .aab file representing the app bundle under test.
422  """
423
424  bundleLocation = _messages.MessageField('FileReference', 1)
425
426
427class CancelTestMatrixResponse(_messages.Message):
428  r"""Response containing the current state of the specified test matrix.
429
430  Enums:
431    TestStateValueValuesEnum: The current rolled-up state of the test matrix.
432      If this state is already final, then the cancelation request will have
433      no effect.
434
435  Fields:
436    testState: The current rolled-up state of the test matrix. If this state
437      is already final, then the cancelation request will have no effect.
438  """
439
440  class TestStateValueValuesEnum(_messages.Enum):
441    r"""The current rolled-up state of the test matrix. If this state is
442    already final, then the cancelation request will have no effect.
443
444    Values:
445      TEST_STATE_UNSPECIFIED: Do not use. For proto versioning only.
446      VALIDATING: The execution or matrix is being validated.
447      PENDING: The execution or matrix is waiting for resources to become
448        available.
449      RUNNING: The execution is currently being processed. Can only be set on
450        an execution.
451      FINISHED: The execution or matrix has terminated normally. On a matrix
452        this means that the matrix level processing completed normally, but
453        individual executions may be in an ERROR state.
454      ERROR: The execution or matrix has stopped because it encountered an
455        infrastructure failure.
456      UNSUPPORTED_ENVIRONMENT: The execution was not run because it
457        corresponds to a unsupported environment. Can only be set on an
458        execution.
459      INCOMPATIBLE_ENVIRONMENT: The execution was not run because the provided
460        inputs are incompatible with the requested environment. Example:
461        requested AndroidVersion is lower than APK's minSdkVersion Can only be
462        set on an execution.
463      INCOMPATIBLE_ARCHITECTURE: The execution was not run because the
464        provided inputs are incompatible with the requested architecture.
465        Example: requested device does not support running the native code in
466        the supplied APK Can only be set on an execution.
467      CANCELLED: The user cancelled the execution. Can only be set on an
468        execution.
469      INVALID: The execution or matrix was not run because the provided inputs
470        are not valid. Examples: input file is not of the expected type, is
471        malformed/corrupt, or was flagged as malware
472    """
473    TEST_STATE_UNSPECIFIED = 0
474    VALIDATING = 1
475    PENDING = 2
476    RUNNING = 3
477    FINISHED = 4
478    ERROR = 5
479    UNSUPPORTED_ENVIRONMENT = 6
480    INCOMPATIBLE_ENVIRONMENT = 7
481    INCOMPATIBLE_ARCHITECTURE = 8
482    CANCELLED = 9
483    INVALID = 10
484
485  testState = _messages.EnumField('TestStateValueValuesEnum', 1)
486
487
488class ClientInfo(_messages.Message):
489  r"""Information about the client which invoked the test.
490
491  Fields:
492    clientInfoDetails: The list of detailed information about client.
493    name: Required. Client name, such as gcloud.
494  """
495
496  clientInfoDetails = _messages.MessageField('ClientInfoDetail', 1, repeated=True)
497  name = _messages.StringField(2)
498
499
500class ClientInfoDetail(_messages.Message):
501  r"""Key-value pair of detailed information about the client which invoked
502  the test. Examples: {'Version', '1.0'}, {'Release Track', 'BETA'}.
503
504  Fields:
505    key: Required. The key of detailed client information.
506    value: Required. The value of detailed client information.
507  """
508
509  key = _messages.StringField(1)
510  value = _messages.StringField(2)
511
512
513class Date(_messages.Message):
514  r"""Represents a whole or partial calendar date, such as a birthday. The
515  time of day and time zone are either specified elsewhere or are
516  insignificant. The date is relative to the Gregorian Calendar. This can
517  represent one of the following: * A full date, with non-zero year, month,
518  and day values * A month and day value, with a zero year, such as an
519  anniversary * A year on its own, with zero month and day values * A year and
520  month value, with a zero day, such as a credit card expiration date Related
521  types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
522
523  Fields:
524    day: Day of a month. Must be from 1 to 31 and valid for the year and
525      month, or 0 to specify a year by itself or a year and month where the
526      day isn't significant.
527    month: Month of a year. Must be from 1 to 12, or 0 to specify a year
528      without a month and day.
529    year: Year of the date. Must be from 1 to 9999, or 0 to specify a date
530      without a year.
531  """
532
533  day = _messages.IntegerField(1, variant=_messages.Variant.INT32)
534  month = _messages.IntegerField(2, variant=_messages.Variant.INT32)
535  year = _messages.IntegerField(3, variant=_messages.Variant.INT32)
536
537
538class DeviceFile(_messages.Message):
539  r"""A single device file description.
540
541  Fields:
542    obbFile: A reference to an opaque binary blob file.
543    regularFile: A reference to a regular file.
544  """
545
546  obbFile = _messages.MessageField('ObbFile', 1)
547  regularFile = _messages.MessageField('RegularFile', 2)
548
549
550class DeviceIpBlock(_messages.Message):
551  r"""A single device IP block
552
553  Enums:
554    FormValueValuesEnum: Whether this block is used by physical or virtual
555      devices
556
557  Fields:
558    addedDate: The date this block was added to Firebase Test Lab
559    block: An IP address block in CIDR notation eg: 34.68.194.64/29
560    form: Whether this block is used by physical or virtual devices
561  """
562
563  class FormValueValuesEnum(_messages.Enum):
564    r"""Whether this block is used by physical or virtual devices
565
566    Values:
567      DEVICE_FORM_UNSPECIFIED: Do not use. For proto versioning only.
568      VIRTUAL: Android virtual device using Compute Engine native
569        virtualization. Firebase Test Lab only.
570      PHYSICAL: Actual hardware.
571      EMULATOR: Android virtual device using emulator in nested
572        virtualization. Equivalent to Android Studio.
573    """
574    DEVICE_FORM_UNSPECIFIED = 0
575    VIRTUAL = 1
576    PHYSICAL = 2
577    EMULATOR = 3
578
579  addedDate = _messages.MessageField('Date', 1)
580  block = _messages.StringField(2)
581  form = _messages.EnumField('FormValueValuesEnum', 3)
582
583
584class DeviceIpBlockCatalog(_messages.Message):
585  r"""List of IP blocks used by the Firebase Test Lab
586
587  Fields:
588    ipBlocks: The device IP blocks used by Firebase Test Lab
589  """
590
591  ipBlocks = _messages.MessageField('DeviceIpBlock', 1, repeated=True)
592
593
594class Distribution(_messages.Message):
595  r"""Data about the relative number of devices running a given configuration
596  of the Android platform.
597
598  Fields:
599    marketShare: Output only. The estimated fraction (0-1) of the total market
600      with this configuration.
601    measurementTime: Output only. The time this distribution was measured.
602  """
603
604  marketShare = _messages.FloatField(1)
605  measurementTime = _messages.StringField(2)
606
607
608class Environment(_messages.Message):
609  r"""The environment in which the test is run.
610
611  Fields:
612    androidDevice: An Android device which must be used with an Android test.
613    iosDevice: An iOS device which must be used with an iOS test.
614  """
615
616  androidDevice = _messages.MessageField('AndroidDevice', 1)
617  iosDevice = _messages.MessageField('IosDevice', 2)
618
619
620class EnvironmentMatrix(_messages.Message):
621  r"""The matrix of environments in which the test is to be executed.
622
623  Fields:
624    androidDeviceList: A list of Android devices; the test will be run only on
625      the specified devices.
626    androidMatrix: A matrix of Android devices.
627    iosDeviceList: A list of iOS devices.
628  """
629
630  androidDeviceList = _messages.MessageField('AndroidDeviceList', 1)
631  androidMatrix = _messages.MessageField('AndroidMatrix', 2)
632  iosDeviceList = _messages.MessageField('IosDeviceList', 3)
633
634
635class EnvironmentVariable(_messages.Message):
636  r"""A key-value pair passed as an environment variable to the test.
637
638  Fields:
639    key: Key for the environment variable.
640    value: Value for the environment variable.
641  """
642
643  key = _messages.StringField(1)
644  value = _messages.StringField(2)
645
646
647class FileReference(_messages.Message):
648  r"""A reference to a file, used for user inputs.
649
650  Fields:
651    gcsPath: A path to a file in Google Cloud Storage. Example: gs://build-
652      app-1414623860166/app%40debug-unaligned.apk These paths are expected to
653      be url encoded (percent encoding)
654  """
655
656  gcsPath = _messages.StringField(1)
657
658
659class GetApkDetailsResponse(_messages.Message):
660  r"""Response containing the details of the specified Android application
661  APK.
662
663  Fields:
664    apkDetail: Details of the Android APK.
665  """
666
667  apkDetail = _messages.MessageField('ApkDetail', 1)
668
669
670class GoogleAuto(_messages.Message):
671  r"""Enables automatic Google account login. If set, the service
672  automatically generates a Google test account and adds it to the device,
673  before executing the test. Note that test accounts might be reused. Many
674  applications show their full set of functionalities when an account is
675  present on the device. Logging into the device with these generated accounts
676  allows testing more functionalities.
677  """
678
679
680
681class GoogleCloudStorage(_messages.Message):
682  r"""A storage location within Google cloud storage (GCS).
683
684  Fields:
685    gcsPath: Required. The path to a directory in GCS that will eventually
686      contain the results for this test. The requesting user must have write
687      access on the bucket in the supplied path.
688  """
689
690  gcsPath = _messages.StringField(1)
691
692
693class IntentFilter(_messages.Message):
694  r"""The section of an tag.
695  https://developer.android.com/guide/topics/manifest/intent-filter-
696  element.html
697
698  Fields:
699    actionNames: The android:name value of the tag.
700    categoryNames: The android:name value of the tag.
701    mimeType: The android:mimeType value of the tag.
702  """
703
704  actionNames = _messages.StringField(1, repeated=True)
705  categoryNames = _messages.StringField(2, repeated=True)
706  mimeType = _messages.StringField(3)
707
708
709class IosDevice(_messages.Message):
710  r"""A single iOS device.
711
712  Fields:
713    iosModelId: Required. The id of the iOS device to be used. Use the
714      TestEnvironmentDiscoveryService to get supported options.
715    iosVersionId: Required. The id of the iOS major software version to be
716      used. Use the TestEnvironmentDiscoveryService to get supported options.
717    locale: Required. The locale the test device used for testing. Use the
718      TestEnvironmentDiscoveryService to get supported options.
719    orientation: Required. How the device is oriented during the test. Use the
720      TestEnvironmentDiscoveryService to get supported options.
721  """
722
723  iosModelId = _messages.StringField(1)
724  iosVersionId = _messages.StringField(2)
725  locale = _messages.StringField(3)
726  orientation = _messages.StringField(4)
727
728
729class IosDeviceCatalog(_messages.Message):
730  r"""The currently supported iOS devices.
731
732  Fields:
733    models: The set of supported iOS device models.
734    runtimeConfiguration: The set of supported runtime configurations.
735    versions: The set of supported iOS software versions.
736    xcodeVersions: The set of supported Xcode versions.
737  """
738
739  models = _messages.MessageField('IosModel', 1, repeated=True)
740  runtimeConfiguration = _messages.MessageField('IosRuntimeConfiguration', 2)
741  versions = _messages.MessageField('IosVersion', 3, repeated=True)
742  xcodeVersions = _messages.MessageField('XcodeVersion', 4, repeated=True)
743
744
745class IosDeviceFile(_messages.Message):
746  r"""A file or directory to install on the device before the test starts.
747
748  Fields:
749    bundleId: The bundle id of the app where this file lives. iOS apps sandbox
750      their own filesystem, so app files must specify which app installed on
751      the device.
752    content: The source file
753    devicePath: Location of the file on the device, inside the app's sandboxed
754      filesystem
755  """
756
757  bundleId = _messages.StringField(1)
758  content = _messages.MessageField('FileReference', 2)
759  devicePath = _messages.StringField(3)
760
761
762class IosDeviceList(_messages.Message):
763  r"""A list of iOS device configurations in which the test is to be executed.
764
765  Fields:
766    iosDevices: Required. A list of iOS devices.
767  """
768
769  iosDevices = _messages.MessageField('IosDevice', 1, repeated=True)
770
771
772class IosModel(_messages.Message):
773  r"""A description of an iOS device tests may be run on.
774
775  Enums:
776    FormFactorValueValuesEnum: Whether this device is a phone, tablet,
777      wearable, etc.
778
779  Fields:
780    deviceCapabilities: Device capabilities. Copied from https://developer.app
781      le.com/library/archive/documentation/DeviceInformation/Reference/iOSDevi
782      ceCompatibility/DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
783    formFactor: Whether this device is a phone, tablet, wearable, etc.
784    id: The unique opaque id for this model. Use this for invoking the
785      TestExecutionService.
786    name: The human-readable name for this device model. Examples: "iPhone
787      4s", "iPad Mini 2".
788    screenDensity: Screen density in DPI.
789    screenX: Screen size in the horizontal (X) dimension measured in pixels.
790    screenY: Screen size in the vertical (Y) dimension measured in pixels.
791    supportedVersionIds: The set of iOS major software versions this device
792      supports.
793    tags: Tags for this dimension. Examples: "default", "preview",
794      "deprecated".
795  """
796
797  class FormFactorValueValuesEnum(_messages.Enum):
798    r"""Whether this device is a phone, tablet, wearable, etc.
799
800    Values:
801      DEVICE_FORM_FACTOR_UNSPECIFIED: Do not use. For proto versioning only.
802      PHONE: This device has the shape of a phone.
803      TABLET: This device has the shape of a tablet.
804      WEARABLE: This device has the shape of a watch or other wearable.
805    """
806    DEVICE_FORM_FACTOR_UNSPECIFIED = 0
807    PHONE = 1
808    TABLET = 2
809    WEARABLE = 3
810
811  deviceCapabilities = _messages.StringField(1, repeated=True)
812  formFactor = _messages.EnumField('FormFactorValueValuesEnum', 2)
813  id = _messages.StringField(3)
814  name = _messages.StringField(4)
815  screenDensity = _messages.IntegerField(5, variant=_messages.Variant.INT32)
816  screenX = _messages.IntegerField(6, variant=_messages.Variant.INT32)
817  screenY = _messages.IntegerField(7, variant=_messages.Variant.INT32)
818  supportedVersionIds = _messages.StringField(8, repeated=True)
819  tags = _messages.StringField(9, repeated=True)
820
821
822class IosRuntimeConfiguration(_messages.Message):
823  r"""iOS configuration that can be selected at the time a test is run.
824
825  Fields:
826    locales: The set of available locales.
827    orientations: The set of available orientations.
828  """
829
830  locales = _messages.MessageField('Locale', 1, repeated=True)
831  orientations = _messages.MessageField('Orientation', 2, repeated=True)
832
833
834class IosTestLoop(_messages.Message):
835  r"""A test of an iOS application that implements one or more game loop
836  scenarios. This test type accepts an archived application (.ipa file) and a
837  list of integer scenarios that will be executed on the app sequentially.
838
839  Fields:
840    appBundleId: Output only. The bundle id for the application under test.
841    appIpa: Required. The .ipa of the application to test.
842    scenarios: The list of scenarios that should be run during the test.
843      Defaults to the single scenario 0 if unspecified.
844  """
845
846  appBundleId = _messages.StringField(1)
847  appIpa = _messages.MessageField('FileReference', 2)
848  scenarios = _messages.IntegerField(3, repeated=True, variant=_messages.Variant.INT32)
849
850
851class IosTestSetup(_messages.Message):
852  r"""A description of how to set up an iOS device prior to running the test.
853
854  Fields:
855    additionalIpas: iOS apps to install in addition to those being directly
856      tested.
857    networkProfile: The network traffic profile used for running the test.
858      Available network profiles can be queried by using the
859      NETWORK_CONFIGURATION environment type when calling
860      TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
861    pullDirectories: List of directories on the device to upload to Cloud
862      Storage at the end of the test. Directories should either be in a shared
863      directory (e.g. /private/var/mobile/Media) or within an accessible
864      directory inside the app's filesystem (e.g. /Documents) by specifying
865      the bundle id.
866    pushFiles: List of files to push to the device before starting the test.
867  """
868
869  additionalIpas = _messages.MessageField('FileReference', 1, repeated=True)
870  networkProfile = _messages.StringField(2)
871  pullDirectories = _messages.MessageField('IosDeviceFile', 3, repeated=True)
872  pushFiles = _messages.MessageField('IosDeviceFile', 4, repeated=True)
873
874
875class IosVersion(_messages.Message):
876  r"""An iOS version.
877
878  Fields:
879    id: An opaque id for this iOS version. Use this id to invoke the
880      TestExecutionService.
881    majorVersion: An integer representing the major iOS version. Examples:
882      "8", "9".
883    minorVersion: An integer representing the minor iOS version. Examples:
884      "1", "2".
885    supportedXcodeVersionIds: The available Xcode versions for this version.
886    tags: Tags for this dimension. Examples: "default", "preview",
887      "deprecated".
888  """
889
890  id = _messages.StringField(1)
891  majorVersion = _messages.IntegerField(2, variant=_messages.Variant.INT32)
892  minorVersion = _messages.IntegerField(3, variant=_messages.Variant.INT32)
893  supportedXcodeVersionIds = _messages.StringField(4, repeated=True)
894  tags = _messages.StringField(5, repeated=True)
895
896
897class IosXcTest(_messages.Message):
898  r"""A test of an iOS application that uses the XCTest framework. Xcode
899  supports the option to "build for testing", which generates an .xctestrun
900  file that contains a test specification (arguments, test methods, etc). This
901  test type accepts a zip file containing the .xctestrun file and the
902  corresponding contents of the Build/Products directory that contains all the
903  binaries needed to run the tests.
904
905  Fields:
906    appBundleId: Output only. The bundle id for the application under test.
907    testSpecialEntitlements: The option to test special app entitlements.
908      Setting this would re-sign the app having special entitlements with an
909      explicit application-identifier. Currently supports testing aps-
910      environment entitlement.
911    testsZip: Required. The .zip containing the .xctestrun file and the
912      contents of the DerivedData/Build/Products directory. The .xctestrun
913      file in this zip is ignored if the xctestrun field is specified.
914    xcodeVersion: The Xcode version that should be used for the test. Use the
915      TestEnvironmentDiscoveryService to get supported options. Defaults to
916      the latest Xcode version Firebase Test Lab supports.
917    xctestrun: An .xctestrun file that will override the .xctestrun file in
918      the tests zip. Because the .xctestrun file contains environment
919      variables along with test methods to run and/or ignore, this can be
920      useful for sharding tests. Default is taken from the tests zip.
921  """
922
923  appBundleId = _messages.StringField(1)
924  testSpecialEntitlements = _messages.BooleanField(2)
925  testsZip = _messages.MessageField('FileReference', 3)
926  xcodeVersion = _messages.StringField(4)
927  xctestrun = _messages.MessageField('FileReference', 5)
928
929
930class LauncherActivityIntent(_messages.Message):
931  r"""Specifies an intent that starts the main launcher activity."""
932
933
934class Locale(_messages.Message):
935  r"""A location/region designation for language.
936
937  Fields:
938    id: The id for this locale. Example: "en_US".
939    name: A human-friendly name for this language/locale. Example: "English".
940    region: A human-friendly string representing the region for this locale.
941      Example: "United States". Not present for every locale.
942    tags: Tags for this dimension. Example: "default".
943  """
944
945  id = _messages.StringField(1)
946  name = _messages.StringField(2)
947  region = _messages.StringField(3)
948  tags = _messages.StringField(4, repeated=True)
949
950
951class ManualSharding(_messages.Message):
952  r"""Shards test cases into the specified groups of packages, classes, and/or
953  methods. With manual sharding enabled, specifying test targets via
954  environment_variables or in InstrumentationTest is invalid.
955
956  Fields:
957    testTargetsForShard: Required. Group of packages, classes, and/or test
958      methods to be run for each shard. When any physical devices are
959      selected, the number of test_targets_for_shard must be >= 1 and <= 50.
960      When no physical devices are selected, the number must be >= 1 and <=
961      500.
962  """
963
964  testTargetsForShard = _messages.MessageField('TestTargetsForShard', 1, repeated=True)
965
966
967class NetworkConfiguration(_messages.Message):
968  r"""A NetworkConfiguration object.
969
970  Fields:
971    downRule: The emulation rule applying to the download traffic.
972    id: The unique opaque id for this network traffic configuration.
973    upRule: The emulation rule applying to the upload traffic.
974  """
975
976  downRule = _messages.MessageField('TrafficRule', 1)
977  id = _messages.StringField(2)
978  upRule = _messages.MessageField('TrafficRule', 3)
979
980
981class NetworkConfigurationCatalog(_messages.Message):
982  r"""A NetworkConfigurationCatalog object.
983
984  Fields:
985    configurations: A NetworkConfiguration attribute.
986  """
987
988  configurations = _messages.MessageField('NetworkConfiguration', 1, repeated=True)
989
990
991class ObbFile(_messages.Message):
992  r"""An opaque binary blob file to install on the device before the test
993  starts.
994
995  Fields:
996    obb: Required. Opaque Binary Blob (OBB) file(s) to install on the device.
997    obbFileName: Required. OBB file name which must conform to the format as
998      specified by Android e.g. [main|patch].0300110.com.example.android.obb
999      which will be installed into \/Android/obb/\/ on the device.
1000  """
1001
1002  obb = _messages.MessageField('FileReference', 1)
1003  obbFileName = _messages.StringField(2)
1004
1005
1006class Orientation(_messages.Message):
1007  r"""Screen orientation of the device.
1008
1009  Fields:
1010    id: The id for this orientation. Example: "portrait".
1011    name: A human-friendly name for this orientation. Example: "portrait".
1012    tags: Tags for this dimension. Example: "default".
1013  """
1014
1015  id = _messages.StringField(1)
1016  name = _messages.StringField(2)
1017  tags = _messages.StringField(3, repeated=True)
1018
1019
1020class ProvidedSoftwareCatalog(_messages.Message):
1021  r"""The currently provided software environment on the devices under test.
1022
1023  Fields:
1024    androidxOrchestratorVersion: A string representing the current version of
1025      AndroidX Test Orchestrator that is used in the environment. The package
1026      is available at
1027      https://maven.google.com/web/index.html#androidx.test:orchestrator.
1028    orchestratorVersion: A string representing the current version of Android
1029      Test Orchestrator that is used in the environment. The package is
1030      available at https://maven.google.com/web/index.html#com.android.support
1031      .test:orchestrator.
1032  """
1033
1034  androidxOrchestratorVersion = _messages.StringField(1)
1035  orchestratorVersion = _messages.StringField(2)
1036
1037
1038class RegularFile(_messages.Message):
1039  r"""A file or directory to install on the device before the test starts.
1040
1041  Fields:
1042    content: Required. The source file.
1043    devicePath: Required. Where to put the content on the device. Must be an
1044      absolute, allowlisted path. If the file exists, it will be replaced. The
1045      following device-side directories and any of their subdirectories are
1046      allowlisted: ${EXTERNAL_STORAGE}, /sdcard, or /storage
1047      ${ANDROID_DATA}/local/tmp, or /data/local/tmp Specifying a path outside
1048      of these directory trees is invalid. The paths /sdcard and /data will be
1049      made available and treated as implicit path substitutions. E.g. if
1050      /sdcard on a particular device does not map to external storage, the
1051      system will replace it with the external storage path prefix for that
1052      device and copy the file there. It is strongly advised to use the
1053      Environment API in app and test code to access files on the device in a
1054      portable way.
1055  """
1056
1057  content = _messages.MessageField('FileReference', 1)
1058  devicePath = _messages.StringField(2)
1059
1060
1061class ResultStorage(_messages.Message):
1062  r"""Locations where the results of running the test are stored.
1063
1064  Fields:
1065    googleCloudStorage: Required.
1066    resultsUrl: Output only. URL to the results in the Firebase Web Console.
1067    toolResultsExecution: Output only. The tool results execution that results
1068      are written to.
1069    toolResultsHistory: The tool results history that contains the tool
1070      results execution that results are written to. If not provided, the
1071      service will choose an appropriate value.
1072  """
1073
1074  googleCloudStorage = _messages.MessageField('GoogleCloudStorage', 1)
1075  resultsUrl = _messages.StringField(2)
1076  toolResultsExecution = _messages.MessageField('ToolResultsExecution', 3)
1077  toolResultsHistory = _messages.MessageField('ToolResultsHistory', 4)
1078
1079
1080class RoboDirective(_messages.Message):
1081  r"""Directs Robo to interact with a specific UI element if it is encountered
1082  during the crawl. Currently, Robo can perform text entry or element click.
1083
1084  Enums:
1085    ActionTypeValueValuesEnum: Required. The type of action that Robo should
1086      perform on the specified element.
1087
1088  Fields:
1089    actionType: Required. The type of action that Robo should perform on the
1090      specified element.
1091    inputText: The text that Robo is directed to set. If left empty, the
1092      directive will be treated as a CLICK on the element matching the
1093      resource_name.
1094    resourceName: Required. The android resource name of the target UI
1095      element. For example, in Java: R.string.foo in xml: @string/foo Only the
1096      "foo" part is needed. Reference doc:
1097      https://developer.android.com/guide/topics/resources/accessing-
1098      resources.html
1099  """
1100
1101  class ActionTypeValueValuesEnum(_messages.Enum):
1102    r"""Required. The type of action that Robo should perform on the specified
1103    element.
1104
1105    Values:
1106      ACTION_TYPE_UNSPECIFIED: DO NOT USE. For proto versioning only.
1107      SINGLE_CLICK: Direct Robo to click on the specified element. No-op if
1108        specified element is not clickable.
1109      ENTER_TEXT: Direct Robo to enter text on the specified element. No-op if
1110        specified element is not enabled or does not allow text entry.
1111      IGNORE: Direct Robo to ignore interactions with a specific element.
1112    """
1113    ACTION_TYPE_UNSPECIFIED = 0
1114    SINGLE_CLICK = 1
1115    ENTER_TEXT = 2
1116    IGNORE = 3
1117
1118  actionType = _messages.EnumField('ActionTypeValueValuesEnum', 1)
1119  inputText = _messages.StringField(2)
1120  resourceName = _messages.StringField(3)
1121
1122
1123class RoboStartingIntent(_messages.Message):
1124  r"""Message for specifying the start activities to crawl.
1125
1126  Fields:
1127    launcherActivity: An intent that starts the main launcher activity.
1128    startActivity: An intent that starts an activity with specific details.
1129    timeout: Timeout in seconds for each intent.
1130  """
1131
1132  launcherActivity = _messages.MessageField('LauncherActivityIntent', 1)
1133  startActivity = _messages.MessageField('StartActivityIntent', 2)
1134  timeout = _messages.StringField(3)
1135
1136
1137class Shard(_messages.Message):
1138  r"""Output only. Details about the shard.
1139
1140  Fields:
1141    numShards: Output only. The total number of shards.
1142    shardIndex: Output only. The index of the shard among all the shards.
1143    testTargetsForShard: Output only. Test targets for each shard.
1144  """
1145
1146  numShards = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1147  shardIndex = _messages.IntegerField(2, variant=_messages.Variant.INT32)
1148  testTargetsForShard = _messages.MessageField('TestTargetsForShard', 3)
1149
1150
1151class ShardingOption(_messages.Message):
1152  r"""Options for enabling sharding.
1153
1154  Fields:
1155    manualSharding: Shards test cases into the specified groups of packages,
1156      classes, and/or methods.
1157    uniformSharding: Uniformly shards test cases given a total number of
1158      shards.
1159  """
1160
1161  manualSharding = _messages.MessageField('ManualSharding', 1)
1162  uniformSharding = _messages.MessageField('UniformSharding', 2)
1163
1164
1165class StandardQueryParameters(_messages.Message):
1166  r"""Query parameters accepted by all methods.
1167
1168  Enums:
1169    FXgafvValueValuesEnum: V1 error format.
1170    AltValueValuesEnum: Data format for response.
1171
1172  Fields:
1173    f__xgafv: V1 error format.
1174    access_token: OAuth access token.
1175    alt: Data format for response.
1176    callback: JSONP
1177    fields: Selector specifying which fields to include in a partial response.
1178    key: API key. Your API key identifies your project and provides you with
1179      API access, quota, and reports. Required unless you provide an OAuth 2.0
1180      token.
1181    oauth_token: OAuth 2.0 token for the current user.
1182    prettyPrint: Returns response with indentations and line breaks.
1183    quotaUser: Available to use for quota purposes for server-side
1184      applications. Can be any arbitrary string assigned to a user, but should
1185      not exceed 40 characters.
1186    trace: A tracing token of the form "token:<tokenid>" to include in api
1187      requests.
1188    uploadType: Legacy upload protocol for media (e.g. "media", "multipart").
1189    upload_protocol: Upload protocol for media (e.g. "raw", "multipart").
1190  """
1191
1192  class AltValueValuesEnum(_messages.Enum):
1193    r"""Data format for response.
1194
1195    Values:
1196      json: Responses with Content-Type of application/json
1197      media: Media download with context-dependent Content-Type
1198      proto: Responses with Content-Type of application/x-protobuf
1199    """
1200    json = 0
1201    media = 1
1202    proto = 2
1203
1204  class FXgafvValueValuesEnum(_messages.Enum):
1205    r"""V1 error format.
1206
1207    Values:
1208      _1: v1 error format
1209      _2: v2 error format
1210    """
1211    _1 = 0
1212    _2 = 1
1213
1214  f__xgafv = _messages.EnumField('FXgafvValueValuesEnum', 1)
1215  access_token = _messages.StringField(2)
1216  alt = _messages.EnumField('AltValueValuesEnum', 3, default='json')
1217  callback = _messages.StringField(4)
1218  fields = _messages.StringField(5)
1219  key = _messages.StringField(6)
1220  oauth_token = _messages.StringField(7)
1221  prettyPrint = _messages.BooleanField(8, default=True)
1222  quotaUser = _messages.StringField(9)
1223  trace = _messages.StringField(10)
1224  uploadType = _messages.StringField(11)
1225  upload_protocol = _messages.StringField(12)
1226
1227
1228class StartActivityIntent(_messages.Message):
1229  r"""A starting intent specified by an action, uri, and categories.
1230
1231  Fields:
1232    action: Action name. Required for START_ACTIVITY.
1233    categories: Intent categories to set on the intent.
1234    uri: URI for the action.
1235  """
1236
1237  action = _messages.StringField(1)
1238  categories = _messages.StringField(2, repeated=True)
1239  uri = _messages.StringField(3)
1240
1241
1242class SystraceSetup(_messages.Message):
1243  r"""A SystraceSetup object.
1244
1245  Fields:
1246    durationSeconds: Systrace duration in seconds. Should be between 1 and 30
1247      seconds. 0 disables systrace.
1248  """
1249
1250  durationSeconds = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1251
1252
1253class TestDetails(_messages.Message):
1254  r"""Additional details about the progress of the running test.
1255
1256  Fields:
1257    errorMessage: Output only. If the TestState is ERROR, then this string
1258      will contain human-readable details about the error.
1259    progressMessages: Output only. Human-readable, detailed descriptions of
1260      the test's progress. For example: "Provisioning a device", "Starting
1261      Test". During the course of execution new data may be appended to the
1262      end of progress_messages.
1263  """
1264
1265  errorMessage = _messages.StringField(1)
1266  progressMessages = _messages.StringField(2, repeated=True)
1267
1268
1269class TestEnvironmentCatalog(_messages.Message):
1270  r"""A description of a test environment.
1271
1272  Fields:
1273    androidDeviceCatalog: Supported Android devices.
1274    deviceIpBlockCatalog: The IP blocks used by devices in the test
1275      environment.
1276    iosDeviceCatalog: Supported iOS devices.
1277    networkConfigurationCatalog: Supported network configurations.
1278    softwareCatalog: The software test environment provided by
1279      TestExecutionService.
1280  """
1281
1282  androidDeviceCatalog = _messages.MessageField('AndroidDeviceCatalog', 1)
1283  deviceIpBlockCatalog = _messages.MessageField('DeviceIpBlockCatalog', 2)
1284  iosDeviceCatalog = _messages.MessageField('IosDeviceCatalog', 3)
1285  networkConfigurationCatalog = _messages.MessageField('NetworkConfigurationCatalog', 4)
1286  softwareCatalog = _messages.MessageField('ProvidedSoftwareCatalog', 5)
1287
1288
1289class TestExecution(_messages.Message):
1290  r"""A single test executed in a single environment.
1291
1292  Enums:
1293    StateValueValuesEnum: Output only. Indicates the current progress of the
1294      test execution (e.g., FINISHED).
1295
1296  Fields:
1297    environment: Output only. How the host machine(s) are configured.
1298    id: Output only. Unique id set by the service.
1299    matrixId: Output only. Id of the containing TestMatrix.
1300    projectId: Output only. The cloud project that owns the test execution.
1301    shard: Output only. Details about the shard.
1302    state: Output only. Indicates the current progress of the test execution
1303      (e.g., FINISHED).
1304    testDetails: Output only. Additional details about the running test.
1305    testSpecification: Output only. How to run the test.
1306    timestamp: Output only. The time this test execution was initially
1307      created.
1308    toolResultsStep: Output only. Where the results for this execution are
1309      written.
1310  """
1311
1312  class StateValueValuesEnum(_messages.Enum):
1313    r"""Output only. Indicates the current progress of the test execution
1314    (e.g., FINISHED).
1315
1316    Values:
1317      TEST_STATE_UNSPECIFIED: Do not use. For proto versioning only.
1318      VALIDATING: The execution or matrix is being validated.
1319      PENDING: The execution or matrix is waiting for resources to become
1320        available.
1321      RUNNING: The execution is currently being processed. Can only be set on
1322        an execution.
1323      FINISHED: The execution or matrix has terminated normally. On a matrix
1324        this means that the matrix level processing completed normally, but
1325        individual executions may be in an ERROR state.
1326      ERROR: The execution or matrix has stopped because it encountered an
1327        infrastructure failure.
1328      UNSUPPORTED_ENVIRONMENT: The execution was not run because it
1329        corresponds to a unsupported environment. Can only be set on an
1330        execution.
1331      INCOMPATIBLE_ENVIRONMENT: The execution was not run because the provided
1332        inputs are incompatible with the requested environment. Example:
1333        requested AndroidVersion is lower than APK's minSdkVersion Can only be
1334        set on an execution.
1335      INCOMPATIBLE_ARCHITECTURE: The execution was not run because the
1336        provided inputs are incompatible with the requested architecture.
1337        Example: requested device does not support running the native code in
1338        the supplied APK Can only be set on an execution.
1339      CANCELLED: The user cancelled the execution. Can only be set on an
1340        execution.
1341      INVALID: The execution or matrix was not run because the provided inputs
1342        are not valid. Examples: input file is not of the expected type, is
1343        malformed/corrupt, or was flagged as malware
1344    """
1345    TEST_STATE_UNSPECIFIED = 0
1346    VALIDATING = 1
1347    PENDING = 2
1348    RUNNING = 3
1349    FINISHED = 4
1350    ERROR = 5
1351    UNSUPPORTED_ENVIRONMENT = 6
1352    INCOMPATIBLE_ENVIRONMENT = 7
1353    INCOMPATIBLE_ARCHITECTURE = 8
1354    CANCELLED = 9
1355    INVALID = 10
1356
1357  environment = _messages.MessageField('Environment', 1)
1358  id = _messages.StringField(2)
1359  matrixId = _messages.StringField(3)
1360  projectId = _messages.StringField(4)
1361  shard = _messages.MessageField('Shard', 5)
1362  state = _messages.EnumField('StateValueValuesEnum', 6)
1363  testDetails = _messages.MessageField('TestDetails', 7)
1364  testSpecification = _messages.MessageField('TestSpecification', 8)
1365  timestamp = _messages.StringField(9)
1366  toolResultsStep = _messages.MessageField('ToolResultsStep', 10)
1367
1368
1369class TestMatrix(_messages.Message):
1370  r"""TestMatrix captures all details about a test. It contains the
1371  environment configuration, test specification, test executions and overall
1372  state and outcome.
1373
1374  Enums:
1375    InvalidMatrixDetailsValueValuesEnum: Output only. Describes why the matrix
1376      is considered invalid. Only useful for matrices in the INVALID state.
1377    OutcomeSummaryValueValuesEnum: Output Only. The overall outcome of the
1378      test. Only set when the test matrix state is FINISHED.
1379    StateValueValuesEnum: Output only. Indicates the current progress of the
1380      test matrix.
1381
1382  Fields:
1383    clientInfo: Information about the client which invoked the test.
1384    environmentMatrix: Required. The devices the tests are being executed on.
1385    failFast: If true, only a single attempt at most will be made to run each
1386      execution/shard in the matrix. Flaky test attempts are not affected.
1387      Normally, 2 or more attempts are made if a potential infrastructure
1388      issue is detected. This feature is for latency sensitive workloads. The
1389      incidence of execution failures may be significantly greater for fail-
1390      fast matrices and support is more limited because of that expectation.
1391    flakyTestAttempts: The number of times a TestExecution should be re-
1392      attempted if one or more of its test cases fail for any reason. The
1393      maximum number of reruns allowed is 10. Default is 0, which implies no
1394      reruns.
1395    invalidMatrixDetails: Output only. Describes why the matrix is considered
1396      invalid. Only useful for matrices in the INVALID state.
1397    outcomeSummary: Output Only. The overall outcome of the test. Only set
1398      when the test matrix state is FINISHED.
1399    projectId: The cloud project that owns the test matrix.
1400    resultStorage: Required. Where the results for the matrix are written.
1401    state: Output only. Indicates the current progress of the test matrix.
1402    testExecutions: Output only. The list of test executions that the service
1403      creates for this matrix.
1404    testMatrixId: Output only. Unique id set by the service.
1405    testSpecification: Required. How to run the test.
1406    timestamp: Output only. The time this test matrix was initially created.
1407  """
1408
1409  class InvalidMatrixDetailsValueValuesEnum(_messages.Enum):
1410    r"""Output only. Describes why the matrix is considered invalid. Only
1411    useful for matrices in the INVALID state.
1412
1413    Values:
1414      INVALID_MATRIX_DETAILS_UNSPECIFIED: Do not use. For proto versioning
1415        only.
1416      DETAILS_UNAVAILABLE: The matrix is INVALID, but there are no further
1417        details available.
1418      MALFORMED_APK: The input app APK could not be parsed.
1419      MALFORMED_TEST_APK: The input test APK could not be parsed.
1420      NO_MANIFEST: The AndroidManifest.xml could not be found.
1421      NO_PACKAGE_NAME: The APK manifest does not declare a package name.
1422      INVALID_PACKAGE_NAME: The APK application ID (aka package name) is
1423        invalid. See also
1424        https://developer.android.com/studio/build/application-id
1425      TEST_SAME_AS_APP: The test package and app package are the same.
1426      NO_INSTRUMENTATION: The test apk does not declare an instrumentation.
1427      NO_SIGNATURE: The input app apk does not have a signature.
1428      INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE: The test runner class
1429        specified by user or in the test APK's manifest file is not compatible
1430        with Android Test Orchestrator. Orchestrator is only compatible with
1431        AndroidJUnitRunner version 1.0 or higher. Orchestrator can be disabled
1432        by using DO_NOT_USE_ORCHESTRATOR OrchestratorOption.
1433      NO_TEST_RUNNER_CLASS: The test APK does not contain the test runner
1434        class specified by user or in the manifest file. This can be caused by
1435        either of the following reasons: - the user provided a runner class
1436        name that's incorrect, or - the test runner isn't built into the test
1437        APK (might be in the app APK instead).
1438      NO_LAUNCHER_ACTIVITY: A main launcher activity could not be found.
1439      FORBIDDEN_PERMISSIONS: The app declares one or more permissions that are
1440        not allowed.
1441      INVALID_ROBO_DIRECTIVES: There is a conflict in the provided
1442        robo_directives.
1443      INVALID_RESOURCE_NAME: There is at least one invalid resource name in
1444        the provided robo directives
1445      INVALID_DIRECTIVE_ACTION: Invalid definition of action in the robo
1446        directives (e.g. a click or ignore action includes an input text
1447        field)
1448      TEST_LOOP_INTENT_FILTER_NOT_FOUND: There is no test loop intent filter,
1449        or the one that is given is not formatted correctly.
1450      SCENARIO_LABEL_NOT_DECLARED: The request contains a scenario label that
1451        was not declared in the manifest.
1452      SCENARIO_LABEL_MALFORMED: There was an error when parsing a label's
1453        value.
1454      SCENARIO_NOT_DECLARED: The request contains a scenario number that was
1455        not declared in the manifest.
1456      DEVICE_ADMIN_RECEIVER: Device administrator applications are not
1457        allowed.
1458      MALFORMED_XC_TEST_ZIP: The zipped XCTest was malformed. The zip did not
1459        contain a single .xctestrun file and the contents of the
1460        DerivedData/Build/Products directory.
1461      BUILT_FOR_IOS_SIMULATOR: The zipped XCTest was built for the iOS
1462        simulator rather than for a physical device.
1463      NO_TESTS_IN_XC_TEST_ZIP: The .xctestrun file did not specify any test
1464        targets.
1465      USE_DESTINATION_ARTIFACTS: One or more of the test targets defined in
1466        the .xctestrun file specifies "UseDestinationArtifacts", which is
1467        disallowed.
1468      TEST_NOT_APP_HOSTED: XC tests which run on physical devices must have
1469        "IsAppHostedTestBundle" == "true" in the xctestrun file.
1470      PLIST_CANNOT_BE_PARSED: An Info.plist file in the XCTest zip could not
1471        be parsed.
1472      TEST_ONLY_APK: The APK is marked as "testOnly". Deprecated and not
1473        currently used.
1474      MALFORMED_IPA: The input IPA could not be parsed.
1475      MISSING_URL_SCHEME: The application doesn't register the game loop URL
1476        scheme.
1477      MALFORMED_APP_BUNDLE: The iOS application bundle (.app) couldn't be
1478        processed.
1479      NO_CODE_APK: APK contains no code. See also
1480        https://developer.android.com/guide/topics/manifest/application-
1481        element.html#code
1482      INVALID_INPUT_APK: Either the provided input APK path was malformed, the
1483        APK file does not exist, or the user does not have permission to
1484        access the APK file.
1485      INVALID_APK_PREVIEW_SDK: APK is built for a preview SDK which is
1486        unsupported
1487    """
1488    INVALID_MATRIX_DETAILS_UNSPECIFIED = 0
1489    DETAILS_UNAVAILABLE = 1
1490    MALFORMED_APK = 2
1491    MALFORMED_TEST_APK = 3
1492    NO_MANIFEST = 4
1493    NO_PACKAGE_NAME = 5
1494    INVALID_PACKAGE_NAME = 6
1495    TEST_SAME_AS_APP = 7
1496    NO_INSTRUMENTATION = 8
1497    NO_SIGNATURE = 9
1498    INSTRUMENTATION_ORCHESTRATOR_INCOMPATIBLE = 10
1499    NO_TEST_RUNNER_CLASS = 11
1500    NO_LAUNCHER_ACTIVITY = 12
1501    FORBIDDEN_PERMISSIONS = 13
1502    INVALID_ROBO_DIRECTIVES = 14
1503    INVALID_RESOURCE_NAME = 15
1504    INVALID_DIRECTIVE_ACTION = 16
1505    TEST_LOOP_INTENT_FILTER_NOT_FOUND = 17
1506    SCENARIO_LABEL_NOT_DECLARED = 18
1507    SCENARIO_LABEL_MALFORMED = 19
1508    SCENARIO_NOT_DECLARED = 20
1509    DEVICE_ADMIN_RECEIVER = 21
1510    MALFORMED_XC_TEST_ZIP = 22
1511    BUILT_FOR_IOS_SIMULATOR = 23
1512    NO_TESTS_IN_XC_TEST_ZIP = 24
1513    USE_DESTINATION_ARTIFACTS = 25
1514    TEST_NOT_APP_HOSTED = 26
1515    PLIST_CANNOT_BE_PARSED = 27
1516    TEST_ONLY_APK = 28
1517    MALFORMED_IPA = 29
1518    MISSING_URL_SCHEME = 30
1519    MALFORMED_APP_BUNDLE = 31
1520    NO_CODE_APK = 32
1521    INVALID_INPUT_APK = 33
1522    INVALID_APK_PREVIEW_SDK = 34
1523
1524  class OutcomeSummaryValueValuesEnum(_messages.Enum):
1525    r"""Output Only. The overall outcome of the test. Only set when the test
1526    matrix state is FINISHED.
1527
1528    Values:
1529      OUTCOME_SUMMARY_UNSPECIFIED: Do not use. For proto versioning only.
1530      SUCCESS: The test matrix run was successful, for instance: - All the
1531        test cases passed. - Robo did not detect a crash of the application
1532        under test.
1533      FAILURE: A run failed, for instance: - One or more test case failed. - A
1534        test timed out. - The application under test crashed.
1535      INCONCLUSIVE: Something unexpected happened. The run should still be
1536        considered unsuccessful but this is likely a transient problem and re-
1537        running the test might be successful.
1538      SKIPPED: All tests were skipped, for instance: - All device
1539        configurations were incompatible.
1540    """
1541    OUTCOME_SUMMARY_UNSPECIFIED = 0
1542    SUCCESS = 1
1543    FAILURE = 2
1544    INCONCLUSIVE = 3
1545    SKIPPED = 4
1546
1547  class StateValueValuesEnum(_messages.Enum):
1548    r"""Output only. Indicates the current progress of the test matrix.
1549
1550    Values:
1551      TEST_STATE_UNSPECIFIED: Do not use. For proto versioning only.
1552      VALIDATING: The execution or matrix is being validated.
1553      PENDING: The execution or matrix is waiting for resources to become
1554        available.
1555      RUNNING: The execution is currently being processed. Can only be set on
1556        an execution.
1557      FINISHED: The execution or matrix has terminated normally. On a matrix
1558        this means that the matrix level processing completed normally, but
1559        individual executions may be in an ERROR state.
1560      ERROR: The execution or matrix has stopped because it encountered an
1561        infrastructure failure.
1562      UNSUPPORTED_ENVIRONMENT: The execution was not run because it
1563        corresponds to a unsupported environment. Can only be set on an
1564        execution.
1565      INCOMPATIBLE_ENVIRONMENT: The execution was not run because the provided
1566        inputs are incompatible with the requested environment. Example:
1567        requested AndroidVersion is lower than APK's minSdkVersion Can only be
1568        set on an execution.
1569      INCOMPATIBLE_ARCHITECTURE: The execution was not run because the
1570        provided inputs are incompatible with the requested architecture.
1571        Example: requested device does not support running the native code in
1572        the supplied APK Can only be set on an execution.
1573      CANCELLED: The user cancelled the execution. Can only be set on an
1574        execution.
1575      INVALID: The execution or matrix was not run because the provided inputs
1576        are not valid. Examples: input file is not of the expected type, is
1577        malformed/corrupt, or was flagged as malware
1578    """
1579    TEST_STATE_UNSPECIFIED = 0
1580    VALIDATING = 1
1581    PENDING = 2
1582    RUNNING = 3
1583    FINISHED = 4
1584    ERROR = 5
1585    UNSUPPORTED_ENVIRONMENT = 6
1586    INCOMPATIBLE_ENVIRONMENT = 7
1587    INCOMPATIBLE_ARCHITECTURE = 8
1588    CANCELLED = 9
1589    INVALID = 10
1590
1591  clientInfo = _messages.MessageField('ClientInfo', 1)
1592  environmentMatrix = _messages.MessageField('EnvironmentMatrix', 2)
1593  failFast = _messages.BooleanField(3)
1594  flakyTestAttempts = _messages.IntegerField(4, variant=_messages.Variant.INT32)
1595  invalidMatrixDetails = _messages.EnumField('InvalidMatrixDetailsValueValuesEnum', 5)
1596  outcomeSummary = _messages.EnumField('OutcomeSummaryValueValuesEnum', 6)
1597  projectId = _messages.StringField(7)
1598  resultStorage = _messages.MessageField('ResultStorage', 8)
1599  state = _messages.EnumField('StateValueValuesEnum', 9)
1600  testExecutions = _messages.MessageField('TestExecution', 10, repeated=True)
1601  testMatrixId = _messages.StringField(11)
1602  testSpecification = _messages.MessageField('TestSpecification', 12)
1603  timestamp = _messages.StringField(13)
1604
1605
1606class TestSetup(_messages.Message):
1607  r"""A description of how to set up the Android device prior to running the
1608  test.
1609
1610  Fields:
1611    account: The device will be logged in on this account for the duration of
1612      the test.
1613    additionalApks: APKs to install in addition to those being directly
1614      tested. Currently capped at 100.
1615    directoriesToPull: List of directories on the device to upload to GCS at
1616      the end of the test; they must be absolute paths under /sdcard, /storage
1617      or /data/local/tmp. Path names are restricted to characters a-z A-Z 0-9
1618      _ - . + and / Note: The paths /sdcard and /data will be made available
1619      and treated as implicit path substitutions. E.g. if /sdcard on a
1620      particular device does not map to external storage, the system will
1621      replace it with the external storage path prefix for that device.
1622    dontAutograntPermissions: Whether to prevent all runtime permissions to be
1623      granted at app install
1624    environmentVariables: Environment variables to set for the test (only
1625      applicable for instrumentation tests).
1626    filesToPush: List of files to push to the device before starting the test.
1627    networkProfile: The network traffic profile used for running the test.
1628      Available network profiles can be queried by using the
1629      NETWORK_CONFIGURATION environment type when calling
1630      TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
1631    systrace: Systrace configuration for the run. If set a systrace will be
1632      taken, starting on test start and lasting for the configured duration.
1633      The systrace file thus obtained is put in the results bucket together
1634      with the other artifacts from the run.
1635  """
1636
1637  account = _messages.MessageField('Account', 1)
1638  additionalApks = _messages.MessageField('Apk', 2, repeated=True)
1639  directoriesToPull = _messages.StringField(3, repeated=True)
1640  dontAutograntPermissions = _messages.BooleanField(4)
1641  environmentVariables = _messages.MessageField('EnvironmentVariable', 5, repeated=True)
1642  filesToPush = _messages.MessageField('DeviceFile', 6, repeated=True)
1643  networkProfile = _messages.StringField(7)
1644  systrace = _messages.MessageField('SystraceSetup', 8)
1645
1646
1647class TestSpecification(_messages.Message):
1648  r"""A description of how to run the test.
1649
1650  Fields:
1651    androidInstrumentationTest: An Android instrumentation test.
1652    androidRoboTest: An Android robo test.
1653    androidTestLoop: An Android Application with a Test Loop.
1654    disablePerformanceMetrics: Disables performance metrics recording. May
1655      reduce test latency.
1656    disableVideoRecording: Disables video recording. May reduce test latency.
1657    iosTestLoop: An iOS application with a test loop.
1658    iosTestSetup: Test setup requirements for iOS.
1659    iosXcTest: An iOS XCTest, via an .xctestrun file.
1660    testSetup: Test setup requirements for Android e.g. files to install,
1661      bootstrap scripts.
1662    testTimeout: Max time a test execution is allowed to run before it is
1663      automatically cancelled. The default value is 5 min.
1664  """
1665
1666  androidInstrumentationTest = _messages.MessageField('AndroidInstrumentationTest', 1)
1667  androidRoboTest = _messages.MessageField('AndroidRoboTest', 2)
1668  androidTestLoop = _messages.MessageField('AndroidTestLoop', 3)
1669  disablePerformanceMetrics = _messages.BooleanField(4)
1670  disableVideoRecording = _messages.BooleanField(5)
1671  iosTestLoop = _messages.MessageField('IosTestLoop', 6)
1672  iosTestSetup = _messages.MessageField('IosTestSetup', 7)
1673  iosXcTest = _messages.MessageField('IosXcTest', 8)
1674  testSetup = _messages.MessageField('TestSetup', 9)
1675  testTimeout = _messages.StringField(10)
1676
1677
1678class TestTargetsForShard(_messages.Message):
1679  r"""Test targets for a shard.
1680
1681  Fields:
1682    testTargets: Group of packages, classes, and/or test methods to be run for
1683      each shard. The targets need to be specified in AndroidJUnitRunner
1684      argument format. For example, "package com.my.packages" "class
1685      com.my.package.MyClass". The number of shard_test_targets must be
1686      greater than 0.
1687  """
1688
1689  testTargets = _messages.StringField(1, repeated=True)
1690
1691
1692class TestingProjectsTestMatricesCancelRequest(_messages.Message):
1693  r"""A TestingProjectsTestMatricesCancelRequest object.
1694
1695  Fields:
1696    projectId: Cloud project that owns the test.
1697    testMatrixId: Test matrix that will be canceled.
1698  """
1699
1700  projectId = _messages.StringField(1, required=True)
1701  testMatrixId = _messages.StringField(2, required=True)
1702
1703
1704class TestingProjectsTestMatricesCreateRequest(_messages.Message):
1705  r"""A TestingProjectsTestMatricesCreateRequest object.
1706
1707  Fields:
1708    projectId: The GCE project under which this job will run.
1709    requestId: A string id used to detect duplicated requests. Ids are
1710      automatically scoped to a project, so users should ensure the ID is
1711      unique per-project. A UUID is recommended. Optional, but strongly
1712      recommended.
1713    testMatrix: A TestMatrix resource to be passed as the request body.
1714  """
1715
1716  projectId = _messages.StringField(1, required=True)
1717  requestId = _messages.StringField(2)
1718  testMatrix = _messages.MessageField('TestMatrix', 3)
1719
1720
1721class TestingProjectsTestMatricesGetRequest(_messages.Message):
1722  r"""A TestingProjectsTestMatricesGetRequest object.
1723
1724  Fields:
1725    projectId: Cloud project that owns the test matrix.
1726    testMatrixId: Unique test matrix id which was assigned by the service.
1727  """
1728
1729  projectId = _messages.StringField(1, required=True)
1730  testMatrixId = _messages.StringField(2, required=True)
1731
1732
1733class TestingTestEnvironmentCatalogGetRequest(_messages.Message):
1734  r"""A TestingTestEnvironmentCatalogGetRequest object.
1735
1736  Enums:
1737    EnvironmentTypeValueValuesEnum: Required. The type of environment that
1738      should be listed.
1739
1740  Fields:
1741    environmentType: Required. The type of environment that should be listed.
1742    projectId: For authorization, the cloud project requesting the
1743      TestEnvironmentCatalog.
1744  """
1745
1746  class EnvironmentTypeValueValuesEnum(_messages.Enum):
1747    r"""Required. The type of environment that should be listed.
1748
1749    Values:
1750      ENVIRONMENT_TYPE_UNSPECIFIED: Do not use. For proto versioning only.
1751      ANDROID: A device running a version of the Android OS.
1752      IOS: A device running a version of iOS.
1753      NETWORK_CONFIGURATION: A network configuration to use when running a
1754        test.
1755      PROVIDED_SOFTWARE: The software environment provided by
1756        TestExecutionService.
1757      DEVICE_IP_BLOCKS: The IP blocks used by devices in the test environment.
1758    """
1759    ENVIRONMENT_TYPE_UNSPECIFIED = 0
1760    ANDROID = 1
1761    IOS = 2
1762    NETWORK_CONFIGURATION = 3
1763    PROVIDED_SOFTWARE = 4
1764    DEVICE_IP_BLOCKS = 5
1765
1766  environmentType = _messages.EnumField('EnvironmentTypeValueValuesEnum', 1, required=True)
1767  projectId = _messages.StringField(2)
1768
1769
1770class ToolResultsExecution(_messages.Message):
1771  r"""Represents a tool results execution resource. This has the results of a
1772  TestMatrix.
1773
1774  Fields:
1775    executionId: Output only. A tool results execution ID.
1776    historyId: Output only. A tool results history ID.
1777    projectId: Output only. The cloud project that owns the tool results
1778      execution.
1779  """
1780
1781  executionId = _messages.StringField(1)
1782  historyId = _messages.StringField(2)
1783  projectId = _messages.StringField(3)
1784
1785
1786class ToolResultsHistory(_messages.Message):
1787  r"""Represents a tool results history resource.
1788
1789  Fields:
1790    historyId: Required. A tool results history ID.
1791    projectId: Required. The cloud project that owns the tool results history.
1792  """
1793
1794  historyId = _messages.StringField(1)
1795  projectId = _messages.StringField(2)
1796
1797
1798class ToolResultsStep(_messages.Message):
1799  r"""Represents a tool results step resource. This has the results of a
1800  TestExecution.
1801
1802  Fields:
1803    executionId: Output only. A tool results execution ID.
1804    historyId: Output only. A tool results history ID.
1805    projectId: Output only. The cloud project that owns the tool results step.
1806    stepId: Output only. A tool results step ID.
1807  """
1808
1809  executionId = _messages.StringField(1)
1810  historyId = _messages.StringField(2)
1811  projectId = _messages.StringField(3)
1812  stepId = _messages.StringField(4)
1813
1814
1815class TrafficRule(_messages.Message):
1816  r"""Network emulation parameters.
1817
1818  Fields:
1819    bandwidth: Bandwidth in kbits/second.
1820    burst: Burst size in kbits.
1821    delay: Packet delay, must be >= 0.
1822    packetDuplicationRatio: Packet duplication ratio (0.0 - 1.0).
1823    packetLossRatio: Packet loss ratio (0.0 - 1.0).
1824  """
1825
1826  bandwidth = _messages.FloatField(1, variant=_messages.Variant.FLOAT)
1827  burst = _messages.FloatField(2, variant=_messages.Variant.FLOAT)
1828  delay = _messages.StringField(3)
1829  packetDuplicationRatio = _messages.FloatField(4, variant=_messages.Variant.FLOAT)
1830  packetLossRatio = _messages.FloatField(5, variant=_messages.Variant.FLOAT)
1831
1832
1833class UniformSharding(_messages.Message):
1834  r"""Uniformly shards test cases given a total number of shards. For
1835  Instrumentation test, it will be translated to "-e numShard" "-e shardIndex"
1836  AndroidJUnitRunner arguments. With uniform sharding enabled, specifying
1837  these sharding arguments via environment_variables is invalid.
1838
1839  Fields:
1840    numShards: Required. Total number of shards. When any physical devices are
1841      selected, the number must be >= 1 and <= 50. When no physical devices
1842      are selected, the number must be >= 1 and <= 500.
1843  """
1844
1845  numShards = _messages.IntegerField(1, variant=_messages.Variant.INT32)
1846
1847
1848class XcodeVersion(_messages.Message):
1849  r"""An Xcode version that an iOS version is compatible with.
1850
1851  Fields:
1852    tags: Tags for this Xcode version. Example: "default".
1853    version: The id for this version. Example: "9.2".
1854  """
1855
1856  tags = _messages.StringField(1, repeated=True)
1857  version = _messages.StringField(2)
1858
1859
1860encoding.AddCustomJsonFieldMapping(
1861    StandardQueryParameters, 'f__xgafv', '$.xgafv')
1862encoding.AddCustomJsonEnumMapping(
1863    StandardQueryParameters.FXgafvValueValuesEnum, '_1', '1')
1864encoding.AddCustomJsonEnumMapping(
1865    StandardQueryParameters.FXgafvValueValuesEnum, '_2', '2')
1866