google-api-client 0.14.1 → 0.14.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/generated/google/apis/adexchangebuyer2_v2beta1.rb +1 -1
  4. data/generated/google/apis/adexchangebuyer2_v2beta1/classes.rb +0 -18
  5. data/generated/google/apis/adexperiencereport_v1.rb +1 -1
  6. data/generated/google/apis/adexperiencereport_v1/classes.rb +0 -6
  7. data/generated/google/apis/adexperiencereport_v1/representations.rb +0 -1
  8. data/generated/google/apis/admin_directory_v1.rb +1 -1
  9. data/generated/google/apis/admin_directory_v1/classes.rb +46 -0
  10. data/generated/google/apis/admin_directory_v1/representations.rb +19 -2
  11. data/generated/google/apis/androiddeviceprovisioning_v1.rb +1 -1
  12. data/generated/google/apis/androiddeviceprovisioning_v1/classes.rb +14 -12
  13. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +7 -5
  14. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  15. data/generated/google/apis/androidmanagement_v1/classes.rb +8 -9
  16. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  17. data/generated/google/apis/bigquerydatatransfer_v1.rb +1 -1
  18. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +4 -2
  19. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  20. data/generated/google/apis/cloudbuild_v1/classes.rb +3 -0
  21. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  22. data/generated/google/apis/container_v1.rb +1 -1
  23. data/generated/google/apis/container_v1/classes.rb +93 -0
  24. data/generated/google/apis/container_v1/representations.rb +58 -0
  25. data/generated/google/apis/container_v1/service.rb +42 -0
  26. data/generated/google/apis/container_v1beta1.rb +1 -1
  27. data/generated/google/apis/container_v1beta1/classes.rb +119 -0
  28. data/generated/google/apis/container_v1beta1/representations.rb +62 -0
  29. data/generated/google/apis/container_v1beta1/service.rb +77 -0
  30. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  31. data/generated/google/apis/dataproc_v1beta2/classes.rb +184 -0
  32. data/generated/google/apis/dataproc_v1beta2/representations.rb +70 -0
  33. data/generated/google/apis/dataproc_v1beta2/service.rb +105 -0
  34. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  35. data/generated/google/apis/deploymentmanager_alpha/classes.rb +63 -64
  36. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  37. data/generated/google/apis/deploymentmanager_v2/classes.rb +51 -50
  38. data/generated/google/apis/deploymentmanager_v2/service.rb +1 -1
  39. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  40. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +62 -62
  41. data/generated/google/apis/dlp_v2beta1.rb +1 -1
  42. data/generated/google/apis/dlp_v2beta1/classes.rb +23 -17
  43. data/generated/google/apis/dlp_v2beta1/service.rb +10 -10
  44. data/generated/google/apis/dns_v1/service.rb +1 -1
  45. data/generated/google/apis/genomics_v1.rb +1 -1
  46. data/generated/google/apis/genomics_v1/classes.rb +1 -1
  47. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  48. data/generated/google/apis/genomics_v1alpha2/classes.rb +1 -1
  49. data/generated/google/apis/gmail_v1.rb +1 -1
  50. data/generated/google/apis/oauth2_v2/service.rb +1 -1
  51. data/generated/google/apis/oslogin_v1alpha.rb +7 -1
  52. data/generated/google/apis/oslogin_v1alpha/classes.rb +2 -1
  53. data/generated/google/apis/oslogin_v1alpha/representations.rb +2 -2
  54. data/generated/google/apis/oslogin_v1beta.rb +43 -0
  55. data/generated/google/apis/oslogin_v1beta/classes.rb +202 -0
  56. data/generated/google/apis/oslogin_v1beta/representations.rb +105 -0
  57. data/generated/google/apis/oslogin_v1beta/service.rb +228 -0
  58. data/generated/google/apis/sheets_v4.rb +1 -1
  59. data/generated/google/apis/sheets_v4/classes.rb +906 -0
  60. data/generated/google/apis/sheets_v4/representations.rb +389 -0
  61. data/generated/google/apis/sheets_v4/service.rb +230 -0
  62. data/generated/google/apis/spanner_v1.rb +1 -1
  63. data/generated/google/apis/spanner_v1/classes.rb +73 -2
  64. data/generated/google/apis/spanner_v1/representations.rb +32 -0
  65. data/generated/google/apis/spanner_v1/service.rb +52 -1
  66. data/generated/google/apis/sqladmin_v1beta4/service.rb +1 -1
  67. data/generated/google/apis/storage_v1.rb +1 -1
  68. data/generated/google/apis/storage_v1/service.rb +15 -13
  69. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  70. data/generated/google/apis/storagetransfer_v1/classes.rb +0 -1
  71. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  72. data/generated/google/apis/streetviewpublish_v1/classes.rb +1 -1
  73. data/generated/google/apis/tagmanager_v2.rb +1 -1
  74. data/generated/google/apis/tagmanager_v2/classes.rb +181 -0
  75. data/generated/google/apis/tagmanager_v2/representations.rb +75 -0
  76. data/generated/google/apis/testing_v1.rb +38 -0
  77. data/generated/google/apis/testing_v1/classes.rb +1616 -0
  78. data/generated/google/apis/testing_v1/representations.rb +688 -0
  79. data/generated/google/apis/testing_v1/service.rb +221 -0
  80. data/generated/google/apis/videointelligence_v1beta1.rb +3 -3
  81. data/generated/google/apis/videointelligence_v1beta1/service.rb +2 -2
  82. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  83. data/generated/google/apis/youtube_v3.rb +1 -1
  84. data/generated/google/apis/youtube_v3/classes.rb +9 -0
  85. data/generated/google/apis/youtube_v3/representations.rb +1 -0
  86. data/generated/google/apis/youtube_v3/service.rb +1 -1
  87. data/lib/google/apis/version.rb +1 -1
  88. metadata +11 -3
@@ -0,0 +1,38 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/testing_v1/service.rb'
16
+ require 'google/apis/testing_v1/classes.rb'
17
+ require 'google/apis/testing_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Google Cloud Testing API
22
+ #
23
+ # Allows developers to run automated tests for their mobile applications on
24
+ # Google infrastructure.
25
+ #
26
+ # @see https://developers.google.com/cloud-test-lab/
27
+ module TestingV1
28
+ VERSION = 'V1'
29
+ REVISION = '20170905'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+
34
+ # View your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,1616 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module TestingV1
24
+
25
+ # Identifies an account and how to log into it
26
+ class Account
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Enables automatic Google account login.
30
+ # If set, the service will automatically generate a Google test account and add
31
+ # it to the device, before executing the test. Note that test accounts might be
32
+ # reused.
33
+ # Many applications show their full set of functionalities when an account is
34
+ # present on the device. Logging into the device with these generated accounts
35
+ # allows testing more functionalities.
36
+ # Corresponds to the JSON property `googleAuto`
37
+ # @return [Google::Apis::TestingV1::GoogleAuto]
38
+ attr_accessor :google_auto
39
+
40
+ def initialize(**args)
41
+ update!(**args)
42
+ end
43
+
44
+ # Update properties of this object
45
+ def update!(**args)
46
+ @google_auto = args[:google_auto] if args.key?(:google_auto)
47
+ end
48
+ end
49
+
50
+ # A single Android device.
51
+ class AndroidDevice
52
+ include Google::Apis::Core::Hashable
53
+
54
+ # The id of the Android device to be used.
55
+ # Use the EnvironmentDiscoveryService to get supported options.
56
+ # Required
57
+ # Corresponds to the JSON property `androidModelId`
58
+ # @return [String]
59
+ attr_accessor :android_model_id
60
+
61
+ # The id of the Android OS version to be used.
62
+ # Use the EnvironmentDiscoveryService to get supported options.
63
+ # Required
64
+ # Corresponds to the JSON property `androidVersionId`
65
+ # @return [String]
66
+ attr_accessor :android_version_id
67
+
68
+ # The locale the test device used for testing.
69
+ # Use the EnvironmentDiscoveryService to get supported options.
70
+ # Required
71
+ # Corresponds to the JSON property `locale`
72
+ # @return [String]
73
+ attr_accessor :locale
74
+
75
+ # How the device is oriented during the test.
76
+ # Use the EnvironmentDiscoveryService to get supported options.
77
+ # Required
78
+ # Corresponds to the JSON property `orientation`
79
+ # @return [String]
80
+ attr_accessor :orientation
81
+
82
+ def initialize(**args)
83
+ update!(**args)
84
+ end
85
+
86
+ # Update properties of this object
87
+ def update!(**args)
88
+ @android_model_id = args[:android_model_id] if args.key?(:android_model_id)
89
+ @android_version_id = args[:android_version_id] if args.key?(:android_version_id)
90
+ @locale = args[:locale] if args.key?(:locale)
91
+ @orientation = args[:orientation] if args.key?(:orientation)
92
+ end
93
+ end
94
+
95
+ # The currently supported Android devices.
96
+ class AndroidDeviceCatalog
97
+ include Google::Apis::Core::Hashable
98
+
99
+ # The set of supported Android device models.
100
+ # @OutputOnly
101
+ # Corresponds to the JSON property `models`
102
+ # @return [Array<Google::Apis::TestingV1::AndroidModel>]
103
+ attr_accessor :models
104
+
105
+ # Configuration that can be selected at the time a test is run.
106
+ # Corresponds to the JSON property `runtimeConfiguration`
107
+ # @return [Google::Apis::TestingV1::AndroidRuntimeConfiguration]
108
+ attr_accessor :runtime_configuration
109
+
110
+ # The set of supported Android OS versions.
111
+ # @OutputOnly
112
+ # Corresponds to the JSON property `versions`
113
+ # @return [Array<Google::Apis::TestingV1::AndroidVersion>]
114
+ attr_accessor :versions
115
+
116
+ def initialize(**args)
117
+ update!(**args)
118
+ end
119
+
120
+ # Update properties of this object
121
+ def update!(**args)
122
+ @models = args[:models] if args.key?(:models)
123
+ @runtime_configuration = args[:runtime_configuration] if args.key?(:runtime_configuration)
124
+ @versions = args[:versions] if args.key?(:versions)
125
+ end
126
+ end
127
+
128
+ # A list of Android device configurations in which the test is to be executed.
129
+ class AndroidDeviceList
130
+ include Google::Apis::Core::Hashable
131
+
132
+ # A list of Android devices
133
+ # Required
134
+ # Corresponds to the JSON property `androidDevices`
135
+ # @return [Array<Google::Apis::TestingV1::AndroidDevice>]
136
+ attr_accessor :android_devices
137
+
138
+ def initialize(**args)
139
+ update!(**args)
140
+ end
141
+
142
+ # Update properties of this object
143
+ def update!(**args)
144
+ @android_devices = args[:android_devices] if args.key?(:android_devices)
145
+ end
146
+ end
147
+
148
+ # A test of an Android application that can control an Android component
149
+ # independently of its normal lifecycle.
150
+ # Android instrumentation tests run an application APK and test APK inside the
151
+ # same process on a virtual or physical AndroidDevice. They also specify
152
+ # a test runner class, such as com.google.GoogleTestRunner, which can vary
153
+ # on the specific instrumentation framework chosen.
154
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
155
+ # more information on types of Android tests.
156
+ class AndroidInstrumentationTest
157
+ include Google::Apis::Core::Hashable
158
+
159
+ # A reference to a file, used for user inputs.
160
+ # Corresponds to the JSON property `appApk`
161
+ # @return [Google::Apis::TestingV1::FileReference]
162
+ attr_accessor :app_apk
163
+
164
+ # The java package for the application under test.
165
+ # Optional, default is determined by examining the application's manifest.
166
+ # Corresponds to the JSON property `appPackageId`
167
+ # @return [String]
168
+ attr_accessor :app_package_id
169
+
170
+ # The option of whether running each test within its own invocation of
171
+ # instrumentation with Android Test Orchestrator or not.
172
+ # ** Orchestrator is only compatible with AndroidJUnitRunner version 1.0 or
173
+ # higher! **
174
+ # Orchestrator offers the following benefits:
175
+ # - No shared state
176
+ # - Crashes are isolated
177
+ # - Logs are scoped per test
178
+ # See
179
+ # <https://developer.android.com/training/testing/junit-runner.html#using-
180
+ # android-test-orchestrator>
181
+ # for more information about Android Test Orchestrator.
182
+ # Optional, if empty, test will be run without orchestrator.
183
+ # Corresponds to the JSON property `orchestratorOption`
184
+ # @return [String]
185
+ attr_accessor :orchestrator_option
186
+
187
+ # A reference to a file, used for user inputs.
188
+ # Corresponds to the JSON property `testApk`
189
+ # @return [Google::Apis::TestingV1::FileReference]
190
+ attr_accessor :test_apk
191
+
192
+ # The java package for the test to be executed.
193
+ # Optional, default is determined by examining the application's manifest.
194
+ # Corresponds to the JSON property `testPackageId`
195
+ # @return [String]
196
+ attr_accessor :test_package_id
197
+
198
+ # The InstrumentationTestRunner class.
199
+ # Optional, default is determined by examining the application's manifest.
200
+ # Corresponds to the JSON property `testRunnerClass`
201
+ # @return [String]
202
+ attr_accessor :test_runner_class
203
+
204
+ # Each target must be fully qualified with the package name or class name,
205
+ # in one of these formats:
206
+ # - "package package_name"
207
+ # - "class package_name.class_name"
208
+ # - "class package_name.class_name#method_name"
209
+ # Optional, if empty, all targets in the module will be run.
210
+ # Corresponds to the JSON property `testTargets`
211
+ # @return [Array<String>]
212
+ attr_accessor :test_targets
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @app_apk = args[:app_apk] if args.key?(:app_apk)
221
+ @app_package_id = args[:app_package_id] if args.key?(:app_package_id)
222
+ @orchestrator_option = args[:orchestrator_option] if args.key?(:orchestrator_option)
223
+ @test_apk = args[:test_apk] if args.key?(:test_apk)
224
+ @test_package_id = args[:test_package_id] if args.key?(:test_package_id)
225
+ @test_runner_class = args[:test_runner_class] if args.key?(:test_runner_class)
226
+ @test_targets = args[:test_targets] if args.key?(:test_targets)
227
+ end
228
+ end
229
+
230
+ # A set of Android device configuration permutations is defined by the
231
+ # the cross-product of the given axes. Internally, the given AndroidMatrix
232
+ # will be expanded into a set of AndroidDevices.
233
+ # Only supported permutations will be instantiated. Invalid permutations
234
+ # (e.g., incompatible models/versions) are ignored.
235
+ class AndroidMatrix
236
+ include Google::Apis::Core::Hashable
237
+
238
+ # The ids of the set of Android device to be used.
239
+ # Use the EnvironmentDiscoveryService to get supported options.
240
+ # Required
241
+ # Corresponds to the JSON property `androidModelIds`
242
+ # @return [Array<String>]
243
+ attr_accessor :android_model_ids
244
+
245
+ # The ids of the set of Android OS version to be used.
246
+ # Use the EnvironmentDiscoveryService to get supported options.
247
+ # Required
248
+ # Corresponds to the JSON property `androidVersionIds`
249
+ # @return [Array<String>]
250
+ attr_accessor :android_version_ids
251
+
252
+ # The set of locales the test device will enable for testing.
253
+ # Use the EnvironmentDiscoveryService to get supported options.
254
+ # Required
255
+ # Corresponds to the JSON property `locales`
256
+ # @return [Array<String>]
257
+ attr_accessor :locales
258
+
259
+ # The set of orientations to test with.
260
+ # Use the EnvironmentDiscoveryService to get supported options.
261
+ # Required
262
+ # Corresponds to the JSON property `orientations`
263
+ # @return [Array<String>]
264
+ attr_accessor :orientations
265
+
266
+ def initialize(**args)
267
+ update!(**args)
268
+ end
269
+
270
+ # Update properties of this object
271
+ def update!(**args)
272
+ @android_model_ids = args[:android_model_ids] if args.key?(:android_model_ids)
273
+ @android_version_ids = args[:android_version_ids] if args.key?(:android_version_ids)
274
+ @locales = args[:locales] if args.key?(:locales)
275
+ @orientations = args[:orientations] if args.key?(:orientations)
276
+ end
277
+ end
278
+
279
+ # A description of an Android device tests may be run on.
280
+ class AndroidModel
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # The company that this device is branded with.
284
+ # Example: "Google", "Samsung"
285
+ # @OutputOnly
286
+ # Corresponds to the JSON property `brand`
287
+ # @return [String]
288
+ attr_accessor :brand
289
+
290
+ # The name of the industrial design.
291
+ # This corresponds to android.os.Build.DEVICE
292
+ # @OutputOnly
293
+ # Corresponds to the JSON property `codename`
294
+ # @return [String]
295
+ attr_accessor :codename
296
+
297
+ # Whether this device is virtual or physical.
298
+ # @OutputOnly
299
+ # Corresponds to the JSON property `form`
300
+ # @return [String]
301
+ attr_accessor :form
302
+
303
+ # The unique opaque id for this model.
304
+ # Use this for invoking the TestExecutionService.
305
+ # @OutputOnly
306
+ # Corresponds to the JSON property `id`
307
+ # @return [String]
308
+ attr_accessor :id
309
+
310
+ # The manufacturer of this device.
311
+ # @OutputOnly
312
+ # Corresponds to the JSON property `manufacturer`
313
+ # @return [String]
314
+ attr_accessor :manufacturer
315
+
316
+ # The human-readable marketing name for this device model.
317
+ # Examples: "Nexus 5", "Galaxy S5"
318
+ # @OutputOnly
319
+ # Corresponds to the JSON property `name`
320
+ # @return [String]
321
+ attr_accessor :name
322
+
323
+ # Screen density in DPI.
324
+ # This corresponds to ro.sf.lcd_density
325
+ # @OutputOnly
326
+ # Corresponds to the JSON property `screenDensity`
327
+ # @return [Fixnum]
328
+ attr_accessor :screen_density
329
+
330
+ # Screen size in the horizontal (X) dimension measured in pixels.
331
+ # @OutputOnly
332
+ # Corresponds to the JSON property `screenX`
333
+ # @return [Fixnum]
334
+ attr_accessor :screen_x
335
+
336
+ # Screen size in the vertical (Y) dimension measured in pixels.
337
+ # @OutputOnly
338
+ # Corresponds to the JSON property `screenY`
339
+ # @return [Fixnum]
340
+ attr_accessor :screen_y
341
+
342
+ # The list of supported ABIs for this device.
343
+ # This corresponds to either android.os.Build.SUPPORTED_ABIS (for API level
344
+ # 21 and above) or android.os.Build.CPU_ABI/CPU_ABI2.
345
+ # The most preferred ABI is the first element in the list.
346
+ # Elements are optionally prefixed by "version_id:" (where version_id is
347
+ # the id of an AndroidVersion), denoting an ABI that is supported only on
348
+ # a particular version.
349
+ # @OutputOnly
350
+ # Corresponds to the JSON property `supportedAbis`
351
+ # @return [Array<String>]
352
+ attr_accessor :supported_abis
353
+
354
+ # The set of Android versions this device supports.
355
+ # @OutputOnly
356
+ # Corresponds to the JSON property `supportedVersionIds`
357
+ # @return [Array<String>]
358
+ attr_accessor :supported_version_ids
359
+
360
+ # Tags for this dimension.
361
+ # Examples: "default", "preview", "deprecated"
362
+ # Corresponds to the JSON property `tags`
363
+ # @return [Array<String>]
364
+ attr_accessor :tags
365
+
366
+ def initialize(**args)
367
+ update!(**args)
368
+ end
369
+
370
+ # Update properties of this object
371
+ def update!(**args)
372
+ @brand = args[:brand] if args.key?(:brand)
373
+ @codename = args[:codename] if args.key?(:codename)
374
+ @form = args[:form] if args.key?(:form)
375
+ @id = args[:id] if args.key?(:id)
376
+ @manufacturer = args[:manufacturer] if args.key?(:manufacturer)
377
+ @name = args[:name] if args.key?(:name)
378
+ @screen_density = args[:screen_density] if args.key?(:screen_density)
379
+ @screen_x = args[:screen_x] if args.key?(:screen_x)
380
+ @screen_y = args[:screen_y] if args.key?(:screen_y)
381
+ @supported_abis = args[:supported_abis] if args.key?(:supported_abis)
382
+ @supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)
383
+ @tags = args[:tags] if args.key?(:tags)
384
+ end
385
+ end
386
+
387
+ # A test of an android application that explores the application on a virtual
388
+ # or physical Android Device, finding culprits and crashes as it goes.
389
+ class AndroidRoboTest
390
+ include Google::Apis::Core::Hashable
391
+
392
+ # A reference to a file, used for user inputs.
393
+ # Corresponds to the JSON property `appApk`
394
+ # @return [Google::Apis::TestingV1::FileReference]
395
+ attr_accessor :app_apk
396
+
397
+ # The initial activity that should be used to start the app.
398
+ # Optional
399
+ # Corresponds to the JSON property `appInitialActivity`
400
+ # @return [String]
401
+ attr_accessor :app_initial_activity
402
+
403
+ # The java package for the application under test.
404
+ # Optional, default is determined by examining the application's manifest.
405
+ # Corresponds to the JSON property `appPackageId`
406
+ # @return [String]
407
+ attr_accessor :app_package_id
408
+
409
+ # The max depth of the traversal stack Robo can explore. Needs to be at least
410
+ # 2 to make Robo explore the app beyond the first activity.
411
+ # Default is 50.
412
+ # Optional
413
+ # Corresponds to the JSON property `maxDepth`
414
+ # @return [Fixnum]
415
+ attr_accessor :max_depth
416
+
417
+ # The max number of steps Robo can execute.
418
+ # Default is no limit.
419
+ # Optional
420
+ # Corresponds to the JSON property `maxSteps`
421
+ # @return [Fixnum]
422
+ attr_accessor :max_steps
423
+
424
+ # A set of directives Robo should apply during the crawl.
425
+ # This allows users to customize the crawl. For example, the username and
426
+ # password for a test account can be provided.
427
+ # Optional
428
+ # Corresponds to the JSON property `roboDirectives`
429
+ # @return [Array<Google::Apis::TestingV1::RoboDirective>]
430
+ attr_accessor :robo_directives
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ @app_apk = args[:app_apk] if args.key?(:app_apk)
439
+ @app_initial_activity = args[:app_initial_activity] if args.key?(:app_initial_activity)
440
+ @app_package_id = args[:app_package_id] if args.key?(:app_package_id)
441
+ @max_depth = args[:max_depth] if args.key?(:max_depth)
442
+ @max_steps = args[:max_steps] if args.key?(:max_steps)
443
+ @robo_directives = args[:robo_directives] if args.key?(:robo_directives)
444
+ end
445
+ end
446
+
447
+ # Configuration that can be selected at the time a test is run.
448
+ class AndroidRuntimeConfiguration
449
+ include Google::Apis::Core::Hashable
450
+
451
+ # The set of available locales.
452
+ # @OutputOnly
453
+ # Corresponds to the JSON property `locales`
454
+ # @return [Array<Google::Apis::TestingV1::Locale>]
455
+ attr_accessor :locales
456
+
457
+ # The set of available orientations.
458
+ # @OutputOnly
459
+ # Corresponds to the JSON property `orientations`
460
+ # @return [Array<Google::Apis::TestingV1::Orientation>]
461
+ attr_accessor :orientations
462
+
463
+ def initialize(**args)
464
+ update!(**args)
465
+ end
466
+
467
+ # Update properties of this object
468
+ def update!(**args)
469
+ @locales = args[:locales] if args.key?(:locales)
470
+ @orientations = args[:orientations] if args.key?(:orientations)
471
+ end
472
+ end
473
+
474
+ # A test of an Android Application with a Test Loop.
475
+ # The intent <intent-name> will be implicitly added, since Games is the only
476
+ # user of this api, for the time being.
477
+ class AndroidTestLoop
478
+ include Google::Apis::Core::Hashable
479
+
480
+ # A reference to a file, used for user inputs.
481
+ # Corresponds to the JSON property `appApk`
482
+ # @return [Google::Apis::TestingV1::FileReference]
483
+ attr_accessor :app_apk
484
+
485
+ # The java package for the application under test.
486
+ # Optional, default is determined by examining the application's manifest.
487
+ # Corresponds to the JSON property `appPackageId`
488
+ # @return [String]
489
+ attr_accessor :app_package_id
490
+
491
+ # The list of scenario labels that should be run during the test.
492
+ # The scenario labels should map to labels defined in the application's
493
+ # manifest. For example, player_experience and
494
+ # com.google.test.loops.player_experience add all of the loops labeled in the
495
+ # manifest with the com.google.test.loops.player_experience name to the
496
+ # execution.
497
+ # Optional. Scenarios can also be specified in the scenarios field.
498
+ # Corresponds to the JSON property `scenarioLabels`
499
+ # @return [Array<String>]
500
+ attr_accessor :scenario_labels
501
+
502
+ # The list of scenarios that should be run during the test.
503
+ # Optional, default is all test loops, derived from the application's
504
+ # manifest.
505
+ # Corresponds to the JSON property `scenarios`
506
+ # @return [Array<Fixnum>]
507
+ attr_accessor :scenarios
508
+
509
+ def initialize(**args)
510
+ update!(**args)
511
+ end
512
+
513
+ # Update properties of this object
514
+ def update!(**args)
515
+ @app_apk = args[:app_apk] if args.key?(:app_apk)
516
+ @app_package_id = args[:app_package_id] if args.key?(:app_package_id)
517
+ @scenario_labels = args[:scenario_labels] if args.key?(:scenario_labels)
518
+ @scenarios = args[:scenarios] if args.key?(:scenarios)
519
+ end
520
+ end
521
+
522
+ # A version of the Android OS
523
+ class AndroidVersion
524
+ include Google::Apis::Core::Hashable
525
+
526
+ # The API level for this Android version.
527
+ # Examples: 18, 19
528
+ # @OutputOnly
529
+ # Corresponds to the JSON property `apiLevel`
530
+ # @return [Fixnum]
531
+ attr_accessor :api_level
532
+
533
+ # The code name for this Android version.
534
+ # Examples: "JellyBean", "KitKat"
535
+ # @OutputOnly
536
+ # Corresponds to the JSON property `codeName`
537
+ # @return [String]
538
+ attr_accessor :code_name
539
+
540
+ # Data about the relative number of devices running a
541
+ # given configuration of the Android platform.
542
+ # Corresponds to the JSON property `distribution`
543
+ # @return [Google::Apis::TestingV1::Distribution]
544
+ attr_accessor :distribution
545
+
546
+ # An opaque id for this Android version.
547
+ # Use this id to invoke the TestExecutionService.
548
+ # @OutputOnly
549
+ # Corresponds to the JSON property `id`
550
+ # @return [String]
551
+ attr_accessor :id
552
+
553
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
554
+ # time zone are either specified elsewhere or are not significant. The date
555
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
556
+ # represent a year and month where the day is not significant, e.g. credit card
557
+ # expiration date. The year may be 0 to represent a month and day independent
558
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
559
+ # and `google.protobuf.Timestamp`.
560
+ # Corresponds to the JSON property `releaseDate`
561
+ # @return [Google::Apis::TestingV1::Date]
562
+ attr_accessor :release_date
563
+
564
+ # Tags for this dimension.
565
+ # Examples: "default", "preview", "deprecated"
566
+ # Corresponds to the JSON property `tags`
567
+ # @return [Array<String>]
568
+ attr_accessor :tags
569
+
570
+ # A string representing this version of the Android OS.
571
+ # Examples: "4.3", "4.4"
572
+ # @OutputOnly
573
+ # Corresponds to the JSON property `versionString`
574
+ # @return [String]
575
+ attr_accessor :version_string
576
+
577
+ def initialize(**args)
578
+ update!(**args)
579
+ end
580
+
581
+ # Update properties of this object
582
+ def update!(**args)
583
+ @api_level = args[:api_level] if args.key?(:api_level)
584
+ @code_name = args[:code_name] if args.key?(:code_name)
585
+ @distribution = args[:distribution] if args.key?(:distribution)
586
+ @id = args[:id] if args.key?(:id)
587
+ @release_date = args[:release_date] if args.key?(:release_date)
588
+ @tags = args[:tags] if args.key?(:tags)
589
+ @version_string = args[:version_string] if args.key?(:version_string)
590
+ end
591
+ end
592
+
593
+ # Response containing the current state of the specified test matrix.
594
+ class CancelTestMatrixResponse
595
+ include Google::Apis::Core::Hashable
596
+
597
+ # The current rolled-up state of the test matrix.
598
+ # If this state is already final, then the cancelation request will
599
+ # have no effect.
600
+ # Corresponds to the JSON property `testState`
601
+ # @return [String]
602
+ attr_accessor :test_state
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @test_state = args[:test_state] if args.key?(:test_state)
611
+ end
612
+ end
613
+
614
+ # Information about the client which invoked the test.
615
+ class ClientInfo
616
+ include Google::Apis::Core::Hashable
617
+
618
+ # The list of detailed information about client.
619
+ # Corresponds to the JSON property `clientInfoDetails`
620
+ # @return [Array<Google::Apis::TestingV1::ClientInfoDetail>]
621
+ attr_accessor :client_info_details
622
+
623
+ # Client name, such as gcloud.
624
+ # Required
625
+ # Corresponds to the JSON property `name`
626
+ # @return [String]
627
+ attr_accessor :name
628
+
629
+ def initialize(**args)
630
+ update!(**args)
631
+ end
632
+
633
+ # Update properties of this object
634
+ def update!(**args)
635
+ @client_info_details = args[:client_info_details] if args.key?(:client_info_details)
636
+ @name = args[:name] if args.key?(:name)
637
+ end
638
+ end
639
+
640
+ # Key-value pair of detailed information about the client which invoked the
641
+ # test. For example `'Version', '1.0'`, `'Release Track', 'BETA'`
642
+ class ClientInfoDetail
643
+ include Google::Apis::Core::Hashable
644
+
645
+ # The key of detailed client information.
646
+ # Required
647
+ # Corresponds to the JSON property `key`
648
+ # @return [String]
649
+ attr_accessor :key
650
+
651
+ # The value of detailed client information.
652
+ # Required
653
+ # Corresponds to the JSON property `value`
654
+ # @return [String]
655
+ attr_accessor :value
656
+
657
+ def initialize(**args)
658
+ update!(**args)
659
+ end
660
+
661
+ # Update properties of this object
662
+ def update!(**args)
663
+ @key = args[:key] if args.key?(:key)
664
+ @value = args[:value] if args.key?(:value)
665
+ end
666
+ end
667
+
668
+ # Represents a whole calendar date, e.g. date of birth. The time of day and
669
+ # time zone are either specified elsewhere or are not significant. The date
670
+ # is relative to the Proleptic Gregorian Calendar. The day may be 0 to
671
+ # represent a year and month where the day is not significant, e.g. credit card
672
+ # expiration date. The year may be 0 to represent a month and day independent
673
+ # of year, e.g. anniversary date. Related types are google.type.TimeOfDay
674
+ # and `google.protobuf.Timestamp`.
675
+ class Date
676
+ include Google::Apis::Core::Hashable
677
+
678
+ # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
679
+ # if specifying a year/month where the day is not significant.
680
+ # Corresponds to the JSON property `day`
681
+ # @return [Fixnum]
682
+ attr_accessor :day
683
+
684
+ # Month of year. Must be from 1 to 12.
685
+ # Corresponds to the JSON property `month`
686
+ # @return [Fixnum]
687
+ attr_accessor :month
688
+
689
+ # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
690
+ # a year.
691
+ # Corresponds to the JSON property `year`
692
+ # @return [Fixnum]
693
+ attr_accessor :year
694
+
695
+ def initialize(**args)
696
+ update!(**args)
697
+ end
698
+
699
+ # Update properties of this object
700
+ def update!(**args)
701
+ @day = args[:day] if args.key?(:day)
702
+ @month = args[:month] if args.key?(:month)
703
+ @year = args[:year] if args.key?(:year)
704
+ end
705
+ end
706
+
707
+ # A single device file description.
708
+ class DeviceFile
709
+ include Google::Apis::Core::Hashable
710
+
711
+ # An opaque binary blob file to install on the device before the test starts
712
+ # Corresponds to the JSON property `obbFile`
713
+ # @return [Google::Apis::TestingV1::ObbFile]
714
+ attr_accessor :obb_file
715
+
716
+ def initialize(**args)
717
+ update!(**args)
718
+ end
719
+
720
+ # Update properties of this object
721
+ def update!(**args)
722
+ @obb_file = args[:obb_file] if args.key?(:obb_file)
723
+ end
724
+ end
725
+
726
+ # Data about the relative number of devices running a
727
+ # given configuration of the Android platform.
728
+ class Distribution
729
+ include Google::Apis::Core::Hashable
730
+
731
+ # The estimated fraction (0-1) of the total market with this configuration.
732
+ # @OutputOnly
733
+ # Corresponds to the JSON property `marketShare`
734
+ # @return [Float]
735
+ attr_accessor :market_share
736
+
737
+ # The time this distribution was measured.
738
+ # @OutputOnly
739
+ # Corresponds to the JSON property `measurementTime`
740
+ # @return [String]
741
+ attr_accessor :measurement_time
742
+
743
+ def initialize(**args)
744
+ update!(**args)
745
+ end
746
+
747
+ # Update properties of this object
748
+ def update!(**args)
749
+ @market_share = args[:market_share] if args.key?(:market_share)
750
+ @measurement_time = args[:measurement_time] if args.key?(:measurement_time)
751
+ end
752
+ end
753
+
754
+ # The environment in which the test is run.
755
+ class Environment
756
+ include Google::Apis::Core::Hashable
757
+
758
+ # A single Android device.
759
+ # Corresponds to the JSON property `androidDevice`
760
+ # @return [Google::Apis::TestingV1::AndroidDevice]
761
+ attr_accessor :android_device
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @android_device = args[:android_device] if args.key?(:android_device)
770
+ end
771
+ end
772
+
773
+ # The matrix of environments in which the test is to be executed.
774
+ class EnvironmentMatrix
775
+ include Google::Apis::Core::Hashable
776
+
777
+ # A list of Android device configurations in which the test is to be executed.
778
+ # Corresponds to the JSON property `androidDeviceList`
779
+ # @return [Google::Apis::TestingV1::AndroidDeviceList]
780
+ attr_accessor :android_device_list
781
+
782
+ # A set of Android device configuration permutations is defined by the
783
+ # the cross-product of the given axes. Internally, the given AndroidMatrix
784
+ # will be expanded into a set of AndroidDevices.
785
+ # Only supported permutations will be instantiated. Invalid permutations
786
+ # (e.g., incompatible models/versions) are ignored.
787
+ # Corresponds to the JSON property `androidMatrix`
788
+ # @return [Google::Apis::TestingV1::AndroidMatrix]
789
+ attr_accessor :android_matrix
790
+
791
+ def initialize(**args)
792
+ update!(**args)
793
+ end
794
+
795
+ # Update properties of this object
796
+ def update!(**args)
797
+ @android_device_list = args[:android_device_list] if args.key?(:android_device_list)
798
+ @android_matrix = args[:android_matrix] if args.key?(:android_matrix)
799
+ end
800
+ end
801
+
802
+ # A key-value pair passed as an environment variable to the test
803
+ class EnvironmentVariable
804
+ include Google::Apis::Core::Hashable
805
+
806
+ # Key for the environment variable
807
+ # Corresponds to the JSON property `key`
808
+ # @return [String]
809
+ attr_accessor :key
810
+
811
+ # Value for the environment variable
812
+ # Corresponds to the JSON property `value`
813
+ # @return [String]
814
+ attr_accessor :value
815
+
816
+ def initialize(**args)
817
+ update!(**args)
818
+ end
819
+
820
+ # Update properties of this object
821
+ def update!(**args)
822
+ @key = args[:key] if args.key?(:key)
823
+ @value = args[:value] if args.key?(:value)
824
+ end
825
+ end
826
+
827
+ # A reference to a file, used for user inputs.
828
+ class FileReference
829
+ include Google::Apis::Core::Hashable
830
+
831
+ # A path to a file in Google Cloud Storage.
832
+ # Example: gs://build-app-1414623860166/app-debug-unaligned.apk
833
+ # Corresponds to the JSON property `gcsPath`
834
+ # @return [String]
835
+ attr_accessor :gcs_path
836
+
837
+ def initialize(**args)
838
+ update!(**args)
839
+ end
840
+
841
+ # Update properties of this object
842
+ def update!(**args)
843
+ @gcs_path = args[:gcs_path] if args.key?(:gcs_path)
844
+ end
845
+ end
846
+
847
+ # Enables automatic Google account login.
848
+ # If set, the service will automatically generate a Google test account and add
849
+ # it to the device, before executing the test. Note that test accounts might be
850
+ # reused.
851
+ # Many applications show their full set of functionalities when an account is
852
+ # present on the device. Logging into the device with these generated accounts
853
+ # allows testing more functionalities.
854
+ class GoogleAuto
855
+ include Google::Apis::Core::Hashable
856
+
857
+ def initialize(**args)
858
+ update!(**args)
859
+ end
860
+
861
+ # Update properties of this object
862
+ def update!(**args)
863
+ end
864
+ end
865
+
866
+ # A storage location within Google cloud storage (GCS).
867
+ class GoogleCloudStorage
868
+ include Google::Apis::Core::Hashable
869
+
870
+ # The path to a directory in GCS that will
871
+ # eventually contain the results for this test.
872
+ # The requesting user must have write access on the bucket in the supplied
873
+ # path.
874
+ # Required
875
+ # Corresponds to the JSON property `gcsPath`
876
+ # @return [String]
877
+ attr_accessor :gcs_path
878
+
879
+ def initialize(**args)
880
+ update!(**args)
881
+ end
882
+
883
+ # Update properties of this object
884
+ def update!(**args)
885
+ @gcs_path = args[:gcs_path] if args.key?(:gcs_path)
886
+ end
887
+ end
888
+
889
+ # A location/region designation for language.
890
+ class Locale
891
+ include Google::Apis::Core::Hashable
892
+
893
+ # The id for this locale.
894
+ # Example: "en_US"
895
+ # @OutputOnly
896
+ # Corresponds to the JSON property `id`
897
+ # @return [String]
898
+ attr_accessor :id
899
+
900
+ # A human-friendly name for this language/locale.
901
+ # Example: "English"
902
+ # @OutputOnly
903
+ # Corresponds to the JSON property `name`
904
+ # @return [String]
905
+ attr_accessor :name
906
+
907
+ # A human-friendy string representing the region for this locale.
908
+ # Example: "United States"
909
+ # Not present for every locale.
910
+ # @OutputOnly
911
+ # Corresponds to the JSON property `region`
912
+ # @return [String]
913
+ attr_accessor :region
914
+
915
+ # Tags for this dimension.
916
+ # Examples: "default"
917
+ # Corresponds to the JSON property `tags`
918
+ # @return [Array<String>]
919
+ attr_accessor :tags
920
+
921
+ def initialize(**args)
922
+ update!(**args)
923
+ end
924
+
925
+ # Update properties of this object
926
+ def update!(**args)
927
+ @id = args[:id] if args.key?(:id)
928
+ @name = args[:name] if args.key?(:name)
929
+ @region = args[:region] if args.key?(:region)
930
+ @tags = args[:tags] if args.key?(:tags)
931
+ end
932
+ end
933
+
934
+ #
935
+ class NetworkConfiguration
936
+ include Google::Apis::Core::Hashable
937
+
938
+ # Network emulation parameters
939
+ # Corresponds to the JSON property `downRule`
940
+ # @return [Google::Apis::TestingV1::TrafficRule]
941
+ attr_accessor :down_rule
942
+
943
+ # The unique opaque id for this network traffic configuration
944
+ # @OutputOnly
945
+ # Corresponds to the JSON property `id`
946
+ # @return [String]
947
+ attr_accessor :id
948
+
949
+ # Network emulation parameters
950
+ # Corresponds to the JSON property `upRule`
951
+ # @return [Google::Apis::TestingV1::TrafficRule]
952
+ attr_accessor :up_rule
953
+
954
+ def initialize(**args)
955
+ update!(**args)
956
+ end
957
+
958
+ # Update properties of this object
959
+ def update!(**args)
960
+ @down_rule = args[:down_rule] if args.key?(:down_rule)
961
+ @id = args[:id] if args.key?(:id)
962
+ @up_rule = args[:up_rule] if args.key?(:up_rule)
963
+ end
964
+ end
965
+
966
+ #
967
+ class NetworkConfigurationCatalog
968
+ include Google::Apis::Core::Hashable
969
+
970
+ #
971
+ # Corresponds to the JSON property `configurations`
972
+ # @return [Array<Google::Apis::TestingV1::NetworkConfiguration>]
973
+ attr_accessor :configurations
974
+
975
+ def initialize(**args)
976
+ update!(**args)
977
+ end
978
+
979
+ # Update properties of this object
980
+ def update!(**args)
981
+ @configurations = args[:configurations] if args.key?(:configurations)
982
+ end
983
+ end
984
+
985
+ # An opaque binary blob file to install on the device before the test starts
986
+ class ObbFile
987
+ include Google::Apis::Core::Hashable
988
+
989
+ # A reference to a file, used for user inputs.
990
+ # Corresponds to the JSON property `obb`
991
+ # @return [Google::Apis::TestingV1::FileReference]
992
+ attr_accessor :obb
993
+
994
+ # OBB file name which must conform to the format as specified by
995
+ # Android
996
+ # e.g. [main|patch].0300110.com.example.android.obb
997
+ # which will be installed into
998
+ # <shared-storage>/Android/obb/<package-name>/
999
+ # on the device
1000
+ # Required
1001
+ # Corresponds to the JSON property `obbFileName`
1002
+ # @return [String]
1003
+ attr_accessor :obb_file_name
1004
+
1005
+ def initialize(**args)
1006
+ update!(**args)
1007
+ end
1008
+
1009
+ # Update properties of this object
1010
+ def update!(**args)
1011
+ @obb = args[:obb] if args.key?(:obb)
1012
+ @obb_file_name = args[:obb_file_name] if args.key?(:obb_file_name)
1013
+ end
1014
+ end
1015
+
1016
+ # Screen orientation of the device.
1017
+ class Orientation
1018
+ include Google::Apis::Core::Hashable
1019
+
1020
+ # The id for this orientation.
1021
+ # Example: "portrait"
1022
+ # @OutputOnly
1023
+ # Corresponds to the JSON property `id`
1024
+ # @return [String]
1025
+ attr_accessor :id
1026
+
1027
+ # A human-friendly name for this orientation.
1028
+ # Example: "portrait"
1029
+ # @OutputOnly
1030
+ # Corresponds to the JSON property `name`
1031
+ # @return [String]
1032
+ attr_accessor :name
1033
+
1034
+ # Tags for this dimension.
1035
+ # Examples: "default"
1036
+ # Corresponds to the JSON property `tags`
1037
+ # @return [Array<String>]
1038
+ attr_accessor :tags
1039
+
1040
+ def initialize(**args)
1041
+ update!(**args)
1042
+ end
1043
+
1044
+ # Update properties of this object
1045
+ def update!(**args)
1046
+ @id = args[:id] if args.key?(:id)
1047
+ @name = args[:name] if args.key?(:name)
1048
+ @tags = args[:tags] if args.key?(:tags)
1049
+ end
1050
+ end
1051
+
1052
+ # Locations where the results of running the test are stored.
1053
+ class ResultStorage
1054
+ include Google::Apis::Core::Hashable
1055
+
1056
+ # A storage location within Google cloud storage (GCS).
1057
+ # Corresponds to the JSON property `googleCloudStorage`
1058
+ # @return [Google::Apis::TestingV1::GoogleCloudStorage]
1059
+ attr_accessor :google_cloud_storage
1060
+
1061
+ # Represents a tool results execution resource.
1062
+ # This has the results of a TestMatrix.
1063
+ # Corresponds to the JSON property `toolResultsExecution`
1064
+ # @return [Google::Apis::TestingV1::ToolResultsExecution]
1065
+ attr_accessor :tool_results_execution
1066
+
1067
+ # Represents a tool results history resource.
1068
+ # Corresponds to the JSON property `toolResultsHistory`
1069
+ # @return [Google::Apis::TestingV1::ToolResultsHistory]
1070
+ attr_accessor :tool_results_history
1071
+
1072
+ def initialize(**args)
1073
+ update!(**args)
1074
+ end
1075
+
1076
+ # Update properties of this object
1077
+ def update!(**args)
1078
+ @google_cloud_storage = args[:google_cloud_storage] if args.key?(:google_cloud_storage)
1079
+ @tool_results_execution = args[:tool_results_execution] if args.key?(:tool_results_execution)
1080
+ @tool_results_history = args[:tool_results_history] if args.key?(:tool_results_history)
1081
+ end
1082
+ end
1083
+
1084
+ # Directs Robo to interact with a specific UI element if it is encountered
1085
+ # during the crawl. Currently, Robo can perform text entry or element click.
1086
+ class RoboDirective
1087
+ include Google::Apis::Core::Hashable
1088
+
1089
+ # The type of action that Robo should perform on the specified element.
1090
+ # Required.
1091
+ # Corresponds to the JSON property `actionType`
1092
+ # @return [String]
1093
+ attr_accessor :action_type
1094
+
1095
+ # The text that Robo is directed to set. If left empty, the directive will be
1096
+ # treated as a CLICK on the element matching the resource_name.
1097
+ # Optional
1098
+ # Corresponds to the JSON property `inputText`
1099
+ # @return [String]
1100
+ attr_accessor :input_text
1101
+
1102
+ # The android resource name of the target UI element
1103
+ # For example,
1104
+ # in Java: R.string.foo
1105
+ # in xml: @string/foo
1106
+ # Only the “foo” part is needed.
1107
+ # Reference doc:
1108
+ # https://developer.android.com/guide/topics/resources/accessing-resources.html
1109
+ # Required
1110
+ # Corresponds to the JSON property `resourceName`
1111
+ # @return [String]
1112
+ attr_accessor :resource_name
1113
+
1114
+ def initialize(**args)
1115
+ update!(**args)
1116
+ end
1117
+
1118
+ # Update properties of this object
1119
+ def update!(**args)
1120
+ @action_type = args[:action_type] if args.key?(:action_type)
1121
+ @input_text = args[:input_text] if args.key?(:input_text)
1122
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
1123
+ end
1124
+ end
1125
+
1126
+ # Additional details about the progress of the running test.
1127
+ class TestDetails
1128
+ include Google::Apis::Core::Hashable
1129
+
1130
+ # If the TestState is ERROR, then this string will contain human-readable
1131
+ # details about the error.
1132
+ # @OutputOnly
1133
+ # Corresponds to the JSON property `errorMessage`
1134
+ # @return [String]
1135
+ attr_accessor :error_message
1136
+
1137
+ # Human-readable, detailed descriptions of the test's progress.
1138
+ # For example: "Provisioning a device", "Starting Test".
1139
+ # During the course of execution new data may be appended
1140
+ # to the end of progress_messages.
1141
+ # @OutputOnly
1142
+ # Corresponds to the JSON property `progressMessages`
1143
+ # @return [Array<String>]
1144
+ attr_accessor :progress_messages
1145
+
1146
+ def initialize(**args)
1147
+ update!(**args)
1148
+ end
1149
+
1150
+ # Update properties of this object
1151
+ def update!(**args)
1152
+ @error_message = args[:error_message] if args.key?(:error_message)
1153
+ @progress_messages = args[:progress_messages] if args.key?(:progress_messages)
1154
+ end
1155
+ end
1156
+
1157
+ # A description of a test environment.
1158
+ class TestEnvironmentCatalog
1159
+ include Google::Apis::Core::Hashable
1160
+
1161
+ # The currently supported Android devices.
1162
+ # Corresponds to the JSON property `androidDeviceCatalog`
1163
+ # @return [Google::Apis::TestingV1::AndroidDeviceCatalog]
1164
+ attr_accessor :android_device_catalog
1165
+
1166
+ # Supported network configurations
1167
+ # Corresponds to the JSON property `networkConfigurationCatalog`
1168
+ # @return [Google::Apis::TestingV1::NetworkConfigurationCatalog]
1169
+ attr_accessor :network_configuration_catalog
1170
+
1171
+ def initialize(**args)
1172
+ update!(**args)
1173
+ end
1174
+
1175
+ # Update properties of this object
1176
+ def update!(**args)
1177
+ @android_device_catalog = args[:android_device_catalog] if args.key?(:android_device_catalog)
1178
+ @network_configuration_catalog = args[:network_configuration_catalog] if args.key?(:network_configuration_catalog)
1179
+ end
1180
+ end
1181
+
1182
+ # Specifies a single test to be executed in a single environment.
1183
+ class TestExecution
1184
+ include Google::Apis::Core::Hashable
1185
+
1186
+ # The environment in which the test is run.
1187
+ # Corresponds to the JSON property `environment`
1188
+ # @return [Google::Apis::TestingV1::Environment]
1189
+ attr_accessor :environment
1190
+
1191
+ # Unique id set by the backend.
1192
+ # @OutputOnly
1193
+ # Corresponds to the JSON property `id`
1194
+ # @return [String]
1195
+ attr_accessor :id
1196
+
1197
+ # Id of the containing TestMatrix.
1198
+ # @OutputOnly
1199
+ # Corresponds to the JSON property `matrixId`
1200
+ # @return [String]
1201
+ attr_accessor :matrix_id
1202
+
1203
+ # The cloud project that owns the test execution.
1204
+ # @OutputOnly
1205
+ # Corresponds to the JSON property `projectId`
1206
+ # @return [String]
1207
+ attr_accessor :project_id
1208
+
1209
+ # Indicates the current progress of the test execution (e.g., FINISHED).
1210
+ # @OutputOnly
1211
+ # Corresponds to the JSON property `state`
1212
+ # @return [String]
1213
+ attr_accessor :state
1214
+
1215
+ # Additional details about the progress of the running test.
1216
+ # Corresponds to the JSON property `testDetails`
1217
+ # @return [Google::Apis::TestingV1::TestDetails]
1218
+ attr_accessor :test_details
1219
+
1220
+ # A description of how to run the test.
1221
+ # Corresponds to the JSON property `testSpecification`
1222
+ # @return [Google::Apis::TestingV1::TestSpecification]
1223
+ attr_accessor :test_specification
1224
+
1225
+ # The time this test execution was initially created.
1226
+ # @OutputOnly
1227
+ # Corresponds to the JSON property `timestamp`
1228
+ # @return [String]
1229
+ attr_accessor :timestamp
1230
+
1231
+ # Represents a tool results step resource.
1232
+ # This has the results of a TestExecution.
1233
+ # Corresponds to the JSON property `toolResultsStep`
1234
+ # @return [Google::Apis::TestingV1::ToolResultsStep]
1235
+ attr_accessor :tool_results_step
1236
+
1237
+ def initialize(**args)
1238
+ update!(**args)
1239
+ end
1240
+
1241
+ # Update properties of this object
1242
+ def update!(**args)
1243
+ @environment = args[:environment] if args.key?(:environment)
1244
+ @id = args[:id] if args.key?(:id)
1245
+ @matrix_id = args[:matrix_id] if args.key?(:matrix_id)
1246
+ @project_id = args[:project_id] if args.key?(:project_id)
1247
+ @state = args[:state] if args.key?(:state)
1248
+ @test_details = args[:test_details] if args.key?(:test_details)
1249
+ @test_specification = args[:test_specification] if args.key?(:test_specification)
1250
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1251
+ @tool_results_step = args[:tool_results_step] if args.key?(:tool_results_step)
1252
+ end
1253
+ end
1254
+
1255
+ # A group of one or more TestExecutions, built by taking a
1256
+ # product of values over a pre-defined set of axes.
1257
+ class TestMatrix
1258
+ include Google::Apis::Core::Hashable
1259
+
1260
+ # Information about the client which invoked the test.
1261
+ # Corresponds to the JSON property `clientInfo`
1262
+ # @return [Google::Apis::TestingV1::ClientInfo]
1263
+ attr_accessor :client_info
1264
+
1265
+ # The matrix of environments in which the test is to be executed.
1266
+ # Corresponds to the JSON property `environmentMatrix`
1267
+ # @return [Google::Apis::TestingV1::EnvironmentMatrix]
1268
+ attr_accessor :environment_matrix
1269
+
1270
+ # Describes why the matrix is considered invalid.
1271
+ # Only useful for matrices in the INVALID state.
1272
+ # @OutputOnly
1273
+ # Corresponds to the JSON property `invalidMatrixDetails`
1274
+ # @return [String]
1275
+ attr_accessor :invalid_matrix_details
1276
+
1277
+ # The cloud project that owns the test matrix.
1278
+ # @OutputOnly
1279
+ # Corresponds to the JSON property `projectId`
1280
+ # @return [String]
1281
+ attr_accessor :project_id
1282
+
1283
+ # Locations where the results of running the test are stored.
1284
+ # Corresponds to the JSON property `resultStorage`
1285
+ # @return [Google::Apis::TestingV1::ResultStorage]
1286
+ attr_accessor :result_storage
1287
+
1288
+ # Indicates the current progress of the test matrix (e.g., FINISHED)
1289
+ # @OutputOnly
1290
+ # Corresponds to the JSON property `state`
1291
+ # @return [String]
1292
+ attr_accessor :state
1293
+
1294
+ # The list of test executions that the service creates for this matrix.
1295
+ # @OutputOnly
1296
+ # Corresponds to the JSON property `testExecutions`
1297
+ # @return [Array<Google::Apis::TestingV1::TestExecution>]
1298
+ attr_accessor :test_executions
1299
+
1300
+ # Unique id set by the service.
1301
+ # @OutputOnly
1302
+ # Corresponds to the JSON property `testMatrixId`
1303
+ # @return [String]
1304
+ attr_accessor :test_matrix_id
1305
+
1306
+ # A description of how to run the test.
1307
+ # Corresponds to the JSON property `testSpecification`
1308
+ # @return [Google::Apis::TestingV1::TestSpecification]
1309
+ attr_accessor :test_specification
1310
+
1311
+ # The time this test matrix was initially created.
1312
+ # @OutputOnly
1313
+ # Corresponds to the JSON property `timestamp`
1314
+ # @return [String]
1315
+ attr_accessor :timestamp
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @client_info = args[:client_info] if args.key?(:client_info)
1324
+ @environment_matrix = args[:environment_matrix] if args.key?(:environment_matrix)
1325
+ @invalid_matrix_details = args[:invalid_matrix_details] if args.key?(:invalid_matrix_details)
1326
+ @project_id = args[:project_id] if args.key?(:project_id)
1327
+ @result_storage = args[:result_storage] if args.key?(:result_storage)
1328
+ @state = args[:state] if args.key?(:state)
1329
+ @test_executions = args[:test_executions] if args.key?(:test_executions)
1330
+ @test_matrix_id = args[:test_matrix_id] if args.key?(:test_matrix_id)
1331
+ @test_specification = args[:test_specification] if args.key?(:test_specification)
1332
+ @timestamp = args[:timestamp] if args.key?(:timestamp)
1333
+ end
1334
+ end
1335
+
1336
+ # A description of how to set up the device prior to running the test
1337
+ class TestSetup
1338
+ include Google::Apis::Core::Hashable
1339
+
1340
+ # Identifies an account and how to log into it
1341
+ # Corresponds to the JSON property `account`
1342
+ # @return [Google::Apis::TestingV1::Account]
1343
+ attr_accessor :account
1344
+
1345
+ # The directories on the device to upload to GCS at the end of the test;
1346
+ # they must be absolute, whitelisted paths.
1347
+ # Refer to RegularFile for whitelisted paths.
1348
+ # Optional
1349
+ # Corresponds to the JSON property `directoriesToPull`
1350
+ # @return [Array<String>]
1351
+ attr_accessor :directories_to_pull
1352
+
1353
+ # Environment variables to set for the test (only applicable for
1354
+ # instrumentation tests).
1355
+ # Corresponds to the JSON property `environmentVariables`
1356
+ # @return [Array<Google::Apis::TestingV1::EnvironmentVariable>]
1357
+ attr_accessor :environment_variables
1358
+
1359
+ # Optional
1360
+ # Corresponds to the JSON property `filesToPush`
1361
+ # @return [Array<Google::Apis::TestingV1::DeviceFile>]
1362
+ attr_accessor :files_to_push
1363
+
1364
+ # The network traffic profile used for running the test.
1365
+ # Optional
1366
+ # Corresponds to the JSON property `networkProfile`
1367
+ # @return [String]
1368
+ attr_accessor :network_profile
1369
+
1370
+ def initialize(**args)
1371
+ update!(**args)
1372
+ end
1373
+
1374
+ # Update properties of this object
1375
+ def update!(**args)
1376
+ @account = args[:account] if args.key?(:account)
1377
+ @directories_to_pull = args[:directories_to_pull] if args.key?(:directories_to_pull)
1378
+ @environment_variables = args[:environment_variables] if args.key?(:environment_variables)
1379
+ @files_to_push = args[:files_to_push] if args.key?(:files_to_push)
1380
+ @network_profile = args[:network_profile] if args.key?(:network_profile)
1381
+ end
1382
+ end
1383
+
1384
+ # A description of how to run the test.
1385
+ class TestSpecification
1386
+ include Google::Apis::Core::Hashable
1387
+
1388
+ # A test of an Android application that can control an Android component
1389
+ # independently of its normal lifecycle.
1390
+ # Android instrumentation tests run an application APK and test APK inside the
1391
+ # same process on a virtual or physical AndroidDevice. They also specify
1392
+ # a test runner class, such as com.google.GoogleTestRunner, which can vary
1393
+ # on the specific instrumentation framework chosen.
1394
+ # See <http://developer.android.com/tools/testing/testing_android.html> for
1395
+ # more information on types of Android tests.
1396
+ # Corresponds to the JSON property `androidInstrumentationTest`
1397
+ # @return [Google::Apis::TestingV1::AndroidInstrumentationTest]
1398
+ attr_accessor :android_instrumentation_test
1399
+
1400
+ # A test of an android application that explores the application on a virtual
1401
+ # or physical Android Device, finding culprits and crashes as it goes.
1402
+ # Corresponds to the JSON property `androidRoboTest`
1403
+ # @return [Google::Apis::TestingV1::AndroidRoboTest]
1404
+ attr_accessor :android_robo_test
1405
+
1406
+ # A test of an Android Application with a Test Loop.
1407
+ # The intent <intent-name> will be implicitly added, since Games is the only
1408
+ # user of this api, for the time being.
1409
+ # Corresponds to the JSON property `androidTestLoop`
1410
+ # @return [Google::Apis::TestingV1::AndroidTestLoop]
1411
+ attr_accessor :android_test_loop
1412
+
1413
+ # Enables automatic Google account login.
1414
+ # If set, the service will automatically generate a Google test account and
1415
+ # add it to the device, before executing the test. Note that test accounts
1416
+ # might be reused.
1417
+ # Many applications show their full set of functionalities when an account is
1418
+ # present on the device. Logging into the device with these generated
1419
+ # accounts allows testing more functionalities.
1420
+ # Default is false.
1421
+ # Optional
1422
+ # Corresponds to the JSON property `autoGoogleLogin`
1423
+ # @return [Boolean]
1424
+ attr_accessor :auto_google_login
1425
+ alias_method :auto_google_login?, :auto_google_login
1426
+
1427
+ # Disables performance metrics recording; may reduce test latency.
1428
+ # Corresponds to the JSON property `disablePerformanceMetrics`
1429
+ # @return [Boolean]
1430
+ attr_accessor :disable_performance_metrics
1431
+ alias_method :disable_performance_metrics?, :disable_performance_metrics
1432
+
1433
+ # Disables video recording; may reduce test latency.
1434
+ # Corresponds to the JSON property `disableVideoRecording`
1435
+ # @return [Boolean]
1436
+ attr_accessor :disable_video_recording
1437
+ alias_method :disable_video_recording?, :disable_video_recording
1438
+
1439
+ # A description of how to set up the device prior to running the test
1440
+ # Corresponds to the JSON property `testSetup`
1441
+ # @return [Google::Apis::TestingV1::TestSetup]
1442
+ attr_accessor :test_setup
1443
+
1444
+ # Max time a test execution is allowed to run before it is
1445
+ # automatically cancelled.
1446
+ # Optional, default is 5 min.
1447
+ # Corresponds to the JSON property `testTimeout`
1448
+ # @return [String]
1449
+ attr_accessor :test_timeout
1450
+
1451
+ def initialize(**args)
1452
+ update!(**args)
1453
+ end
1454
+
1455
+ # Update properties of this object
1456
+ def update!(**args)
1457
+ @android_instrumentation_test = args[:android_instrumentation_test] if args.key?(:android_instrumentation_test)
1458
+ @android_robo_test = args[:android_robo_test] if args.key?(:android_robo_test)
1459
+ @android_test_loop = args[:android_test_loop] if args.key?(:android_test_loop)
1460
+ @auto_google_login = args[:auto_google_login] if args.key?(:auto_google_login)
1461
+ @disable_performance_metrics = args[:disable_performance_metrics] if args.key?(:disable_performance_metrics)
1462
+ @disable_video_recording = args[:disable_video_recording] if args.key?(:disable_video_recording)
1463
+ @test_setup = args[:test_setup] if args.key?(:test_setup)
1464
+ @test_timeout = args[:test_timeout] if args.key?(:test_timeout)
1465
+ end
1466
+ end
1467
+
1468
+ # Represents a tool results execution resource.
1469
+ # This has the results of a TestMatrix.
1470
+ class ToolResultsExecution
1471
+ include Google::Apis::Core::Hashable
1472
+
1473
+ # A tool results execution ID.
1474
+ # @OutputOnly
1475
+ # Corresponds to the JSON property `executionId`
1476
+ # @return [String]
1477
+ attr_accessor :execution_id
1478
+
1479
+ # A tool results history ID.
1480
+ # @OutputOnly
1481
+ # Corresponds to the JSON property `historyId`
1482
+ # @return [String]
1483
+ attr_accessor :history_id
1484
+
1485
+ # The cloud project that owns the tool results execution.
1486
+ # @OutputOnly
1487
+ # Corresponds to the JSON property `projectId`
1488
+ # @return [String]
1489
+ attr_accessor :project_id
1490
+
1491
+ def initialize(**args)
1492
+ update!(**args)
1493
+ end
1494
+
1495
+ # Update properties of this object
1496
+ def update!(**args)
1497
+ @execution_id = args[:execution_id] if args.key?(:execution_id)
1498
+ @history_id = args[:history_id] if args.key?(:history_id)
1499
+ @project_id = args[:project_id] if args.key?(:project_id)
1500
+ end
1501
+ end
1502
+
1503
+ # Represents a tool results history resource.
1504
+ class ToolResultsHistory
1505
+ include Google::Apis::Core::Hashable
1506
+
1507
+ # A tool results history ID.
1508
+ # Required
1509
+ # Corresponds to the JSON property `historyId`
1510
+ # @return [String]
1511
+ attr_accessor :history_id
1512
+
1513
+ # The cloud project that owns the tool results history.
1514
+ # Required
1515
+ # Corresponds to the JSON property `projectId`
1516
+ # @return [String]
1517
+ attr_accessor :project_id
1518
+
1519
+ def initialize(**args)
1520
+ update!(**args)
1521
+ end
1522
+
1523
+ # Update properties of this object
1524
+ def update!(**args)
1525
+ @history_id = args[:history_id] if args.key?(:history_id)
1526
+ @project_id = args[:project_id] if args.key?(:project_id)
1527
+ end
1528
+ end
1529
+
1530
+ # Represents a tool results step resource.
1531
+ # This has the results of a TestExecution.
1532
+ class ToolResultsStep
1533
+ include Google::Apis::Core::Hashable
1534
+
1535
+ # A tool results execution ID.
1536
+ # @OutputOnly
1537
+ # Corresponds to the JSON property `executionId`
1538
+ # @return [String]
1539
+ attr_accessor :execution_id
1540
+
1541
+ # A tool results history ID.
1542
+ # @OutputOnly
1543
+ # Corresponds to the JSON property `historyId`
1544
+ # @return [String]
1545
+ attr_accessor :history_id
1546
+
1547
+ # The cloud project that owns the tool results step.
1548
+ # @OutputOnly
1549
+ # Corresponds to the JSON property `projectId`
1550
+ # @return [String]
1551
+ attr_accessor :project_id
1552
+
1553
+ # A tool results step ID.
1554
+ # @OutputOnly
1555
+ # Corresponds to the JSON property `stepId`
1556
+ # @return [String]
1557
+ attr_accessor :step_id
1558
+
1559
+ def initialize(**args)
1560
+ update!(**args)
1561
+ end
1562
+
1563
+ # Update properties of this object
1564
+ def update!(**args)
1565
+ @execution_id = args[:execution_id] if args.key?(:execution_id)
1566
+ @history_id = args[:history_id] if args.key?(:history_id)
1567
+ @project_id = args[:project_id] if args.key?(:project_id)
1568
+ @step_id = args[:step_id] if args.key?(:step_id)
1569
+ end
1570
+ end
1571
+
1572
+ # Network emulation parameters
1573
+ class TrafficRule
1574
+ include Google::Apis::Core::Hashable
1575
+
1576
+ # Bandwidth in kbits/second
1577
+ # Corresponds to the JSON property `bandwidth`
1578
+ # @return [Float]
1579
+ attr_accessor :bandwidth
1580
+
1581
+ # Burst size in kbits
1582
+ # Corresponds to the JSON property `burst`
1583
+ # @return [Float]
1584
+ attr_accessor :burst
1585
+
1586
+ # Packet delay, must be >= 0
1587
+ # Corresponds to the JSON property `delay`
1588
+ # @return [String]
1589
+ attr_accessor :delay
1590
+
1591
+ # Packet duplication ratio (0.0 - 1.0)
1592
+ # Corresponds to the JSON property `packetDuplicationRatio`
1593
+ # @return [Float]
1594
+ attr_accessor :packet_duplication_ratio
1595
+
1596
+ # Packet loss ratio (0.0 - 1.0)
1597
+ # Corresponds to the JSON property `packetLossRatio`
1598
+ # @return [Float]
1599
+ attr_accessor :packet_loss_ratio
1600
+
1601
+ def initialize(**args)
1602
+ update!(**args)
1603
+ end
1604
+
1605
+ # Update properties of this object
1606
+ def update!(**args)
1607
+ @bandwidth = args[:bandwidth] if args.key?(:bandwidth)
1608
+ @burst = args[:burst] if args.key?(:burst)
1609
+ @delay = args[:delay] if args.key?(:delay)
1610
+ @packet_duplication_ratio = args[:packet_duplication_ratio] if args.key?(:packet_duplication_ratio)
1611
+ @packet_loss_ratio = args[:packet_loss_ratio] if args.key?(:packet_loss_ratio)
1612
+ end
1613
+ end
1614
+ end
1615
+ end
1616
+ end