google-apis-testing_v1 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.yardopts +13 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.md +202 -0
- data/OVERVIEW.md +96 -0
- data/lib/google-apis-testing_v1.rb +15 -0
- data/lib/google/apis/testing_v1.rb +40 -0
- data/lib/google/apis/testing_v1/classes.rb +2618 -0
- data/lib/google/apis/testing_v1/gem_version.rb +28 -0
- data/lib/google/apis/testing_v1/representations.rb +1197 -0
- data/lib/google/apis/testing_v1/service.rb +245 -0
- metadata +76 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 80192ce3e4bd2d7816c773227c1fcdc84d532959eb4f946c8de5f64d91314692
|
4
|
+
data.tar.gz: 1d864300e20fcd7b42119bd66a61e09be437403fcc029bfc8b3a4eddf33f02a2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 4f179ec4a04106128e584a0bd4b5f801f3bed4bb53cf2e75a8674d066f6d4bf6ad634db2223e9fb46000bfdc1096ae7c49c565f4e53b5433ca3062ea87731900
|
7
|
+
data.tar.gz: f258355edf75f9e0f0d66b6b50e1dc45ba85cc57ab21634c12cc063d609c03667970ce721535335c8ca1bd54f83f4205b97951873b1a5df840625e1b29b56dab
|
data/.yardopts
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
--hide-void-return
|
2
|
+
--no-private
|
3
|
+
--verbose
|
4
|
+
--title=google-apis-testing_v1
|
5
|
+
--markup-provider=redcarpet
|
6
|
+
--markup=markdown
|
7
|
+
--main OVERVIEW.md
|
8
|
+
lib/google/apis/testing_v1/*.rb
|
9
|
+
lib/google/apis/testing_v1.rb
|
10
|
+
-
|
11
|
+
OVERVIEW.md
|
12
|
+
CHANGELOG.md
|
13
|
+
LICENSE.md
|
data/CHANGELOG.md
ADDED
data/LICENSE.md
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
|
2
|
+
Apache License
|
3
|
+
Version 2.0, January 2004
|
4
|
+
http://www.apache.org/licenses/
|
5
|
+
|
6
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
7
|
+
|
8
|
+
1. Definitions.
|
9
|
+
|
10
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
11
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
12
|
+
|
13
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
14
|
+
the copyright owner that is granting the License.
|
15
|
+
|
16
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
17
|
+
other entities that control, are controlled by, or are under common
|
18
|
+
control with that entity. For the purposes of this definition,
|
19
|
+
"control" means (i) the power, direct or indirect, to cause the
|
20
|
+
direction or management of such entity, whether by contract or
|
21
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
22
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
23
|
+
|
24
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
25
|
+
exercising permissions granted by this License.
|
26
|
+
|
27
|
+
"Source" form shall mean the preferred form for making modifications,
|
28
|
+
including but not limited to software source code, documentation
|
29
|
+
source, and configuration files.
|
30
|
+
|
31
|
+
"Object" form shall mean any form resulting from mechanical
|
32
|
+
transformation or translation of a Source form, including but
|
33
|
+
not limited to compiled object code, generated documentation,
|
34
|
+
and conversions to other media types.
|
35
|
+
|
36
|
+
"Work" shall mean the work of authorship, whether in Source or
|
37
|
+
Object form, made available under the License, as indicated by a
|
38
|
+
copyright notice that is included in or attached to the work
|
39
|
+
(an example is provided in the Appendix below).
|
40
|
+
|
41
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
42
|
+
form, that is based on (or derived from) the Work and for which the
|
43
|
+
editorial revisions, annotations, elaborations, or other modifications
|
44
|
+
represent, as a whole, an original work of authorship. For the purposes
|
45
|
+
of this License, Derivative Works shall not include works that remain
|
46
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
47
|
+
the Work and Derivative Works thereof.
|
48
|
+
|
49
|
+
"Contribution" shall mean any work of authorship, including
|
50
|
+
the original version of the Work and any modifications or additions
|
51
|
+
to that Work or Derivative Works thereof, that is intentionally
|
52
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
53
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
54
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
55
|
+
means any form of electronic, verbal, or written communication sent
|
56
|
+
to the Licensor or its representatives, including but not limited to
|
57
|
+
communication on electronic mailing lists, source code control systems,
|
58
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
59
|
+
Licensor for the purpose of discussing and improving the Work, but
|
60
|
+
excluding communication that is conspicuously marked or otherwise
|
61
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
62
|
+
|
63
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
64
|
+
on behalf of whom a Contribution has been received by Licensor and
|
65
|
+
subsequently incorporated within the Work.
|
66
|
+
|
67
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
68
|
+
this License, each Contributor hereby grants to You a perpetual,
|
69
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
70
|
+
copyright license to reproduce, prepare Derivative Works of,
|
71
|
+
publicly display, publicly perform, sublicense, and distribute the
|
72
|
+
Work and such Derivative Works in Source or Object form.
|
73
|
+
|
74
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
75
|
+
this License, each Contributor hereby grants to You a perpetual,
|
76
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
77
|
+
(except as stated in this section) patent license to make, have made,
|
78
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
79
|
+
where such license applies only to those patent claims licensable
|
80
|
+
by such Contributor that are necessarily infringed by their
|
81
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
82
|
+
with the Work to which such Contribution(s) was submitted. If You
|
83
|
+
institute patent litigation against any entity (including a
|
84
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
85
|
+
or a Contribution incorporated within the Work constitutes direct
|
86
|
+
or contributory patent infringement, then any patent licenses
|
87
|
+
granted to You under this License for that Work shall terminate
|
88
|
+
as of the date such litigation is filed.
|
89
|
+
|
90
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
91
|
+
Work or Derivative Works thereof in any medium, with or without
|
92
|
+
modifications, and in Source or Object form, provided that You
|
93
|
+
meet the following conditions:
|
94
|
+
|
95
|
+
(a) You must give any other recipients of the Work or
|
96
|
+
Derivative Works a copy of this License; and
|
97
|
+
|
98
|
+
(b) You must cause any modified files to carry prominent notices
|
99
|
+
stating that You changed the files; and
|
100
|
+
|
101
|
+
(c) You must retain, in the Source form of any Derivative Works
|
102
|
+
that You distribute, all copyright, patent, trademark, and
|
103
|
+
attribution notices from the Source form of the Work,
|
104
|
+
excluding those notices that do not pertain to any part of
|
105
|
+
the Derivative Works; and
|
106
|
+
|
107
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
108
|
+
distribution, then any Derivative Works that You distribute must
|
109
|
+
include a readable copy of the attribution notices contained
|
110
|
+
within such NOTICE file, excluding those notices that do not
|
111
|
+
pertain to any part of the Derivative Works, in at least one
|
112
|
+
of the following places: within a NOTICE text file distributed
|
113
|
+
as part of the Derivative Works; within the Source form or
|
114
|
+
documentation, if provided along with the Derivative Works; or,
|
115
|
+
within a display generated by the Derivative Works, if and
|
116
|
+
wherever such third-party notices normally appear. The contents
|
117
|
+
of the NOTICE file are for informational purposes only and
|
118
|
+
do not modify the License. You may add Your own attribution
|
119
|
+
notices within Derivative Works that You distribute, alongside
|
120
|
+
or as an addendum to the NOTICE text from the Work, provided
|
121
|
+
that such additional attribution notices cannot be construed
|
122
|
+
as modifying the License.
|
123
|
+
|
124
|
+
You may add Your own copyright statement to Your modifications and
|
125
|
+
may provide additional or different license terms and conditions
|
126
|
+
for use, reproduction, or distribution of Your modifications, or
|
127
|
+
for any such Derivative Works as a whole, provided Your use,
|
128
|
+
reproduction, and distribution of the Work otherwise complies with
|
129
|
+
the conditions stated in this License.
|
130
|
+
|
131
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
132
|
+
any Contribution intentionally submitted for inclusion in the Work
|
133
|
+
by You to the Licensor shall be under the terms and conditions of
|
134
|
+
this License, without any additional terms or conditions.
|
135
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
136
|
+
the terms of any separate license agreement you may have executed
|
137
|
+
with Licensor regarding such Contributions.
|
138
|
+
|
139
|
+
6. Trademarks. This License does not grant permission to use the trade
|
140
|
+
names, trademarks, service marks, or product names of the Licensor,
|
141
|
+
except as required for reasonable and customary use in describing the
|
142
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
143
|
+
|
144
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
145
|
+
agreed to in writing, Licensor provides the Work (and each
|
146
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
147
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
148
|
+
implied, including, without limitation, any warranties or conditions
|
149
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
150
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
151
|
+
appropriateness of using or redistributing the Work and assume any
|
152
|
+
risks associated with Your exercise of permissions under this License.
|
153
|
+
|
154
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
155
|
+
whether in tort (including negligence), contract, or otherwise,
|
156
|
+
unless required by applicable law (such as deliberate and grossly
|
157
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
158
|
+
liable to You for damages, including any direct, indirect, special,
|
159
|
+
incidental, or consequential damages of any character arising as a
|
160
|
+
result of this License or out of the use or inability to use the
|
161
|
+
Work (including but not limited to damages for loss of goodwill,
|
162
|
+
work stoppage, computer failure or malfunction, or any and all
|
163
|
+
other commercial damages or losses), even if such Contributor
|
164
|
+
has been advised of the possibility of such damages.
|
165
|
+
|
166
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
167
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
168
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
169
|
+
or other liability obligations and/or rights consistent with this
|
170
|
+
License. However, in accepting such obligations, You may act only
|
171
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
172
|
+
of any other Contributor, and only if You agree to indemnify,
|
173
|
+
defend, and hold each Contributor harmless for any liability
|
174
|
+
incurred by, or claims asserted against, such Contributor by reason
|
175
|
+
of your accepting any such warranty or additional liability.
|
176
|
+
|
177
|
+
END OF TERMS AND CONDITIONS
|
178
|
+
|
179
|
+
APPENDIX: How to apply the Apache License to your work.
|
180
|
+
|
181
|
+
To apply the Apache License to your work, attach the following
|
182
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
183
|
+
replaced with your own identifying information. (Don't include
|
184
|
+
the brackets!) The text should be enclosed in the appropriate
|
185
|
+
comment syntax for the file format. We also recommend that a
|
186
|
+
file or class name and description of purpose be included on the
|
187
|
+
same "printed page" as the copyright notice for easier
|
188
|
+
identification within third-party archives.
|
189
|
+
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
191
|
+
|
192
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
193
|
+
you may not use this file except in compliance with the License.
|
194
|
+
You may obtain a copy of the License at
|
195
|
+
|
196
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
197
|
+
|
198
|
+
Unless required by applicable law or agreed to in writing, software
|
199
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
200
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
201
|
+
See the License for the specific language governing permissions and
|
202
|
+
limitations under the License.
|
data/OVERVIEW.md
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
# Simple REST client for version V1 of the Cloud Testing API
|
2
|
+
|
3
|
+
This is a simple client library for version V1 of the Cloud Testing API. It provides:
|
4
|
+
|
5
|
+
* A client object that connects to the HTTP/JSON REST endpoint for the service.
|
6
|
+
* Ruby objects for data structures related to the service.
|
7
|
+
* Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
|
8
|
+
* Control of retry, pagination, and timeouts.
|
9
|
+
|
10
|
+
Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
|
11
|
+
|
12
|
+
## Getting started
|
13
|
+
|
14
|
+
### Before you begin
|
15
|
+
|
16
|
+
There are a few setup steps you need to complete before you can use this library:
|
17
|
+
|
18
|
+
1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
|
19
|
+
2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
|
20
|
+
3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/testing.googleapis.com) in the console.
|
21
|
+
|
22
|
+
### Installation
|
23
|
+
|
24
|
+
Add this line to your application's Gemfile:
|
25
|
+
|
26
|
+
```ruby
|
27
|
+
gem 'google-apis-testing_v1', '~> 0.1'
|
28
|
+
```
|
29
|
+
|
30
|
+
And then execute:
|
31
|
+
|
32
|
+
```
|
33
|
+
$ bundle
|
34
|
+
```
|
35
|
+
|
36
|
+
Or install it yourself as:
|
37
|
+
|
38
|
+
```
|
39
|
+
$ gem install google-apis-testing_v1
|
40
|
+
```
|
41
|
+
|
42
|
+
### Creating a client object
|
43
|
+
|
44
|
+
Once the gem is installed, you can load the client code and instantiate a client.
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
# Load the client
|
48
|
+
require "google/apis/testing_v1"
|
49
|
+
|
50
|
+
# Create a client object
|
51
|
+
client = Google::Apis::TestingV1::TestingService.new
|
52
|
+
|
53
|
+
# Authenticate calls
|
54
|
+
client.authentication = # ... use the googleauth gem to create credentials
|
55
|
+
```
|
56
|
+
|
57
|
+
See the class reference docs for information on the methods you can call from a client.
|
58
|
+
|
59
|
+
## Documentation
|
60
|
+
|
61
|
+
More detailed descriptions of the Google simple REST clients are available in two documents.
|
62
|
+
|
63
|
+
* The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
|
64
|
+
* The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
|
65
|
+
|
66
|
+
(Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Testing service in particular.)
|
67
|
+
|
68
|
+
For reference information on specific calls in the Cloud Testing API, see the {Google::Apis::TestingV1::TestingService class reference docs}.
|
69
|
+
|
70
|
+
## Which client should I use?
|
71
|
+
|
72
|
+
Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
|
73
|
+
|
74
|
+
This library, `google-apis-testing_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
|
75
|
+
|
76
|
+
Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
|
77
|
+
|
78
|
+
Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
|
79
|
+
|
80
|
+
**For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
|
81
|
+
|
82
|
+
The [product documentation](https://developers.google.com/cloud-test-lab/) may provide guidance regarding the preferred client library to use.
|
83
|
+
|
84
|
+
## Supported Ruby versions
|
85
|
+
|
86
|
+
This library is supported on Ruby 2.5+.
|
87
|
+
|
88
|
+
Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
|
89
|
+
|
90
|
+
## License
|
91
|
+
|
92
|
+
This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
|
93
|
+
|
94
|
+
## Support
|
95
|
+
|
96
|
+
Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
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"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
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
|
+
require 'google/apis/testing_v1/gem_version.rb'
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Apis
|
22
|
+
# Cloud Testing API
|
23
|
+
#
|
24
|
+
# Allows developers to run automated tests for their mobile applications on
|
25
|
+
# Google infrastructure.
|
26
|
+
#
|
27
|
+
# @see https://developers.google.com/cloud-test-lab/
|
28
|
+
module TestingV1
|
29
|
+
# Version of the Cloud Testing API this client connects to.
|
30
|
+
# This is NOT the gem version.
|
31
|
+
VERSION = 'V1'
|
32
|
+
|
33
|
+
# View and manage your data across Google Cloud Platform services
|
34
|
+
AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
|
35
|
+
|
36
|
+
# View your data across Google Cloud Platform services
|
37
|
+
AUTH_CLOUD_PLATFORM_READ_ONLY = 'https://www.googleapis.com/auth/cloud-platform.read-only'
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,2618 @@
|
|
1
|
+
# Copyright 2020 Google LLC
|
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. If set, the service automatically
|
30
|
+
# generates a Google test account and adds it to the device, before executing
|
31
|
+
# the test. Note that test accounts might be reused. Many applications show
|
32
|
+
# their full set of functionalities when an account is present on the device.
|
33
|
+
# Logging into the device with these generated accounts allows testing more
|
34
|
+
# functionalities.
|
35
|
+
# Corresponds to the JSON property `googleAuto`
|
36
|
+
# @return [Google::Apis::TestingV1::GoogleAuto]
|
37
|
+
attr_accessor :google_auto
|
38
|
+
|
39
|
+
def initialize(**args)
|
40
|
+
update!(**args)
|
41
|
+
end
|
42
|
+
|
43
|
+
# Update properties of this object
|
44
|
+
def update!(**args)
|
45
|
+
@google_auto = args[:google_auto] if args.key?(:google_auto)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# A single Android device.
|
50
|
+
class AndroidDevice
|
51
|
+
include Google::Apis::Core::Hashable
|
52
|
+
|
53
|
+
# Required. The id of the Android device to be used. Use the
|
54
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
55
|
+
# Corresponds to the JSON property `androidModelId`
|
56
|
+
# @return [String]
|
57
|
+
attr_accessor :android_model_id
|
58
|
+
|
59
|
+
# Required. The id of the Android OS version to be used. Use the
|
60
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
61
|
+
# Corresponds to the JSON property `androidVersionId`
|
62
|
+
# @return [String]
|
63
|
+
attr_accessor :android_version_id
|
64
|
+
|
65
|
+
# Required. The locale the test device used for testing. Use the
|
66
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
67
|
+
# Corresponds to the JSON property `locale`
|
68
|
+
# @return [String]
|
69
|
+
attr_accessor :locale
|
70
|
+
|
71
|
+
# Required. How the device is oriented during the test. Use the
|
72
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
73
|
+
# Corresponds to the JSON property `orientation`
|
74
|
+
# @return [String]
|
75
|
+
attr_accessor :orientation
|
76
|
+
|
77
|
+
def initialize(**args)
|
78
|
+
update!(**args)
|
79
|
+
end
|
80
|
+
|
81
|
+
# Update properties of this object
|
82
|
+
def update!(**args)
|
83
|
+
@android_model_id = args[:android_model_id] if args.key?(:android_model_id)
|
84
|
+
@android_version_id = args[:android_version_id] if args.key?(:android_version_id)
|
85
|
+
@locale = args[:locale] if args.key?(:locale)
|
86
|
+
@orientation = args[:orientation] if args.key?(:orientation)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
# The currently supported Android devices.
|
91
|
+
class AndroidDeviceCatalog
|
92
|
+
include Google::Apis::Core::Hashable
|
93
|
+
|
94
|
+
# The set of supported Android device models.
|
95
|
+
# Corresponds to the JSON property `models`
|
96
|
+
# @return [Array<Google::Apis::TestingV1::AndroidModel>]
|
97
|
+
attr_accessor :models
|
98
|
+
|
99
|
+
# Android configuration that can be selected at the time a test is run.
|
100
|
+
# Corresponds to the JSON property `runtimeConfiguration`
|
101
|
+
# @return [Google::Apis::TestingV1::AndroidRuntimeConfiguration]
|
102
|
+
attr_accessor :runtime_configuration
|
103
|
+
|
104
|
+
# The set of supported Android OS versions.
|
105
|
+
# Corresponds to the JSON property `versions`
|
106
|
+
# @return [Array<Google::Apis::TestingV1::AndroidVersion>]
|
107
|
+
attr_accessor :versions
|
108
|
+
|
109
|
+
def initialize(**args)
|
110
|
+
update!(**args)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Update properties of this object
|
114
|
+
def update!(**args)
|
115
|
+
@models = args[:models] if args.key?(:models)
|
116
|
+
@runtime_configuration = args[:runtime_configuration] if args.key?(:runtime_configuration)
|
117
|
+
@versions = args[:versions] if args.key?(:versions)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
# A list of Android device configurations in which the test is to be executed.
|
122
|
+
class AndroidDeviceList
|
123
|
+
include Google::Apis::Core::Hashable
|
124
|
+
|
125
|
+
# Required. A list of Android devices.
|
126
|
+
# Corresponds to the JSON property `androidDevices`
|
127
|
+
# @return [Array<Google::Apis::TestingV1::AndroidDevice>]
|
128
|
+
attr_accessor :android_devices
|
129
|
+
|
130
|
+
def initialize(**args)
|
131
|
+
update!(**args)
|
132
|
+
end
|
133
|
+
|
134
|
+
# Update properties of this object
|
135
|
+
def update!(**args)
|
136
|
+
@android_devices = args[:android_devices] if args.key?(:android_devices)
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
# A test of an Android application that can control an Android component
|
141
|
+
# independently of its normal lifecycle. Android instrumentation tests run an
|
142
|
+
# application APK and test APK inside the same process on a virtual or physical
|
143
|
+
# AndroidDevice. They also specify a test runner class, such as com.google.
|
144
|
+
# GoogleTestRunner, which can vary on the specific instrumentation framework
|
145
|
+
# chosen. See for more information on types of Android tests.
|
146
|
+
class AndroidInstrumentationTest
|
147
|
+
include Google::Apis::Core::Hashable
|
148
|
+
|
149
|
+
# A reference to a file, used for user inputs.
|
150
|
+
# Corresponds to the JSON property `appApk`
|
151
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
152
|
+
attr_accessor :app_apk
|
153
|
+
|
154
|
+
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
155
|
+
# module directory, zero or more dynamic feature module directories. See https://
|
156
|
+
# developer.android.com/guide/app-bundle/build for guidance on building App
|
157
|
+
# Bundles.
|
158
|
+
# Corresponds to the JSON property `appBundle`
|
159
|
+
# @return [Google::Apis::TestingV1::AppBundle]
|
160
|
+
attr_accessor :app_bundle
|
161
|
+
|
162
|
+
# The java package for the application under test. The default value is
|
163
|
+
# determined by examining the application's manifest.
|
164
|
+
# Corresponds to the JSON property `appPackageId`
|
165
|
+
# @return [String]
|
166
|
+
attr_accessor :app_package_id
|
167
|
+
|
168
|
+
# The option of whether running each test within its own invocation of
|
169
|
+
# instrumentation with Android Test Orchestrator or not. ** Orchestrator is only
|
170
|
+
# compatible with AndroidJUnitRunner version 1.0 or higher! ** Orchestrator
|
171
|
+
# offers the following benefits: - No shared state - Crashes are isolated - Logs
|
172
|
+
# are scoped per test See for more information about Android Test Orchestrator.
|
173
|
+
# If not set, the test will be run without the orchestrator.
|
174
|
+
# Corresponds to the JSON property `orchestratorOption`
|
175
|
+
# @return [String]
|
176
|
+
attr_accessor :orchestrator_option
|
177
|
+
|
178
|
+
# Options for enabling sharding.
|
179
|
+
# Corresponds to the JSON property `shardingOption`
|
180
|
+
# @return [Google::Apis::TestingV1::ShardingOption]
|
181
|
+
attr_accessor :sharding_option
|
182
|
+
|
183
|
+
# A reference to a file, used for user inputs.
|
184
|
+
# Corresponds to the JSON property `testApk`
|
185
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
186
|
+
attr_accessor :test_apk
|
187
|
+
|
188
|
+
# The java package for the test to be executed. The default value is determined
|
189
|
+
# by examining the application's manifest.
|
190
|
+
# Corresponds to the JSON property `testPackageId`
|
191
|
+
# @return [String]
|
192
|
+
attr_accessor :test_package_id
|
193
|
+
|
194
|
+
# The InstrumentationTestRunner class. The default value is determined by
|
195
|
+
# examining the application's manifest.
|
196
|
+
# Corresponds to the JSON property `testRunnerClass`
|
197
|
+
# @return [String]
|
198
|
+
attr_accessor :test_runner_class
|
199
|
+
|
200
|
+
# Each target must be fully qualified with the package name or class name, in
|
201
|
+
# one of these formats: - "package package_name" - "class package_name.
|
202
|
+
# class_name" - "class package_name.class_name#method_name" If empty, all
|
203
|
+
# targets in the module will be run.
|
204
|
+
# Corresponds to the JSON property `testTargets`
|
205
|
+
# @return [Array<String>]
|
206
|
+
attr_accessor :test_targets
|
207
|
+
|
208
|
+
def initialize(**args)
|
209
|
+
update!(**args)
|
210
|
+
end
|
211
|
+
|
212
|
+
# Update properties of this object
|
213
|
+
def update!(**args)
|
214
|
+
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
215
|
+
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
216
|
+
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
217
|
+
@orchestrator_option = args[:orchestrator_option] if args.key?(:orchestrator_option)
|
218
|
+
@sharding_option = args[:sharding_option] if args.key?(:sharding_option)
|
219
|
+
@test_apk = args[:test_apk] if args.key?(:test_apk)
|
220
|
+
@test_package_id = args[:test_package_id] if args.key?(:test_package_id)
|
221
|
+
@test_runner_class = args[:test_runner_class] if args.key?(:test_runner_class)
|
222
|
+
@test_targets = args[:test_targets] if args.key?(:test_targets)
|
223
|
+
end
|
224
|
+
end
|
225
|
+
|
226
|
+
# A set of Android device configuration permutations is defined by the the cross-
|
227
|
+
# product of the given axes. Internally, the given AndroidMatrix will be
|
228
|
+
# expanded into a set of AndroidDevices. Only supported permutations will be
|
229
|
+
# instantiated. Invalid permutations (e.g., incompatible models/versions) are
|
230
|
+
# ignored.
|
231
|
+
class AndroidMatrix
|
232
|
+
include Google::Apis::Core::Hashable
|
233
|
+
|
234
|
+
# Required. The ids of the set of Android device to be used. Use the
|
235
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
236
|
+
# Corresponds to the JSON property `androidModelIds`
|
237
|
+
# @return [Array<String>]
|
238
|
+
attr_accessor :android_model_ids
|
239
|
+
|
240
|
+
# Required. The ids of the set of Android OS version to be used. Use the
|
241
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
242
|
+
# Corresponds to the JSON property `androidVersionIds`
|
243
|
+
# @return [Array<String>]
|
244
|
+
attr_accessor :android_version_ids
|
245
|
+
|
246
|
+
# Required. The set of locales the test device will enable for testing. Use the
|
247
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
248
|
+
# Corresponds to the JSON property `locales`
|
249
|
+
# @return [Array<String>]
|
250
|
+
attr_accessor :locales
|
251
|
+
|
252
|
+
# Required. The set of orientations to test with. Use the
|
253
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
254
|
+
# Corresponds to the JSON property `orientations`
|
255
|
+
# @return [Array<String>]
|
256
|
+
attr_accessor :orientations
|
257
|
+
|
258
|
+
def initialize(**args)
|
259
|
+
update!(**args)
|
260
|
+
end
|
261
|
+
|
262
|
+
# Update properties of this object
|
263
|
+
def update!(**args)
|
264
|
+
@android_model_ids = args[:android_model_ids] if args.key?(:android_model_ids)
|
265
|
+
@android_version_ids = args[:android_version_ids] if args.key?(:android_version_ids)
|
266
|
+
@locales = args[:locales] if args.key?(:locales)
|
267
|
+
@orientations = args[:orientations] if args.key?(:orientations)
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
# A description of an Android device tests may be run on.
|
272
|
+
class AndroidModel
|
273
|
+
include Google::Apis::Core::Hashable
|
274
|
+
|
275
|
+
# The company that this device is branded with. Example: "Google", "Samsung".
|
276
|
+
# Corresponds to the JSON property `brand`
|
277
|
+
# @return [String]
|
278
|
+
attr_accessor :brand
|
279
|
+
|
280
|
+
# The name of the industrial design. This corresponds to android.os.Build.DEVICE.
|
281
|
+
# Corresponds to the JSON property `codename`
|
282
|
+
# @return [String]
|
283
|
+
attr_accessor :codename
|
284
|
+
|
285
|
+
# Whether this device is virtual or physical.
|
286
|
+
# Corresponds to the JSON property `form`
|
287
|
+
# @return [String]
|
288
|
+
attr_accessor :form
|
289
|
+
|
290
|
+
# Whether this device is a phone, tablet, wearable, etc.
|
291
|
+
# Corresponds to the JSON property `formFactor`
|
292
|
+
# @return [String]
|
293
|
+
attr_accessor :form_factor
|
294
|
+
|
295
|
+
# The unique opaque id for this model. Use this for invoking the
|
296
|
+
# TestExecutionService.
|
297
|
+
# Corresponds to the JSON property `id`
|
298
|
+
# @return [String]
|
299
|
+
attr_accessor :id
|
300
|
+
|
301
|
+
# True if and only if tests with this model are recorded by stitching together
|
302
|
+
# screenshots. See use_low_spec_video_recording in device config.
|
303
|
+
# Corresponds to the JSON property `lowFpsVideoRecording`
|
304
|
+
# @return [Boolean]
|
305
|
+
attr_accessor :low_fps_video_recording
|
306
|
+
alias_method :low_fps_video_recording?, :low_fps_video_recording
|
307
|
+
|
308
|
+
# The manufacturer of this device.
|
309
|
+
# Corresponds to the JSON property `manufacturer`
|
310
|
+
# @return [String]
|
311
|
+
attr_accessor :manufacturer
|
312
|
+
|
313
|
+
# The human-readable marketing name for this device model. Examples: "Nexus 5", "
|
314
|
+
# Galaxy S5".
|
315
|
+
# Corresponds to the JSON property `name`
|
316
|
+
# @return [String]
|
317
|
+
attr_accessor :name
|
318
|
+
|
319
|
+
# Screen density in DPI. This corresponds to ro.sf.lcd_density
|
320
|
+
# Corresponds to the JSON property `screenDensity`
|
321
|
+
# @return [Fixnum]
|
322
|
+
attr_accessor :screen_density
|
323
|
+
|
324
|
+
# Screen size in the horizontal (X) dimension measured in pixels.
|
325
|
+
# Corresponds to the JSON property `screenX`
|
326
|
+
# @return [Fixnum]
|
327
|
+
attr_accessor :screen_x
|
328
|
+
|
329
|
+
# Screen size in the vertical (Y) dimension measured in pixels.
|
330
|
+
# Corresponds to the JSON property `screenY`
|
331
|
+
# @return [Fixnum]
|
332
|
+
attr_accessor :screen_y
|
333
|
+
|
334
|
+
# The list of supported ABIs for this device. This corresponds to either android.
|
335
|
+
# os.Build.SUPPORTED_ABIS (for API level 21 and above) or android.os.Build.
|
336
|
+
# CPU_ABI/CPU_ABI2. The most preferred ABI is the first element in the list.
|
337
|
+
# Elements are optionally prefixed by "version_id:" (where version_id is the id
|
338
|
+
# of an AndroidVersion), denoting an ABI that is supported only on a particular
|
339
|
+
# version.
|
340
|
+
# Corresponds to the JSON property `supportedAbis`
|
341
|
+
# @return [Array<String>]
|
342
|
+
attr_accessor :supported_abis
|
343
|
+
|
344
|
+
# The set of Android versions this device supports.
|
345
|
+
# Corresponds to the JSON property `supportedVersionIds`
|
346
|
+
# @return [Array<String>]
|
347
|
+
attr_accessor :supported_version_ids
|
348
|
+
|
349
|
+
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
350
|
+
# Corresponds to the JSON property `tags`
|
351
|
+
# @return [Array<String>]
|
352
|
+
attr_accessor :tags
|
353
|
+
|
354
|
+
# URL of a thumbnail image (photo) of the device. e.g. https://lh3.
|
355
|
+
# googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...
|
356
|
+
# Corresponds to the JSON property `thumbnailUrl`
|
357
|
+
# @return [String]
|
358
|
+
attr_accessor :thumbnail_url
|
359
|
+
|
360
|
+
def initialize(**args)
|
361
|
+
update!(**args)
|
362
|
+
end
|
363
|
+
|
364
|
+
# Update properties of this object
|
365
|
+
def update!(**args)
|
366
|
+
@brand = args[:brand] if args.key?(:brand)
|
367
|
+
@codename = args[:codename] if args.key?(:codename)
|
368
|
+
@form = args[:form] if args.key?(:form)
|
369
|
+
@form_factor = args[:form_factor] if args.key?(:form_factor)
|
370
|
+
@id = args[:id] if args.key?(:id)
|
371
|
+
@low_fps_video_recording = args[:low_fps_video_recording] if args.key?(:low_fps_video_recording)
|
372
|
+
@manufacturer = args[:manufacturer] if args.key?(:manufacturer)
|
373
|
+
@name = args[:name] if args.key?(:name)
|
374
|
+
@screen_density = args[:screen_density] if args.key?(:screen_density)
|
375
|
+
@screen_x = args[:screen_x] if args.key?(:screen_x)
|
376
|
+
@screen_y = args[:screen_y] if args.key?(:screen_y)
|
377
|
+
@supported_abis = args[:supported_abis] if args.key?(:supported_abis)
|
378
|
+
@supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)
|
379
|
+
@tags = args[:tags] if args.key?(:tags)
|
380
|
+
@thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
# A test of an android application that explores the application on a virtual or
|
385
|
+
# physical Android Device, finding culprits and crashes as it goes. Next tag: 30
|
386
|
+
class AndroidRoboTest
|
387
|
+
include Google::Apis::Core::Hashable
|
388
|
+
|
389
|
+
# A reference to a file, used for user inputs.
|
390
|
+
# Corresponds to the JSON property `appApk`
|
391
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
392
|
+
attr_accessor :app_apk
|
393
|
+
|
394
|
+
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
395
|
+
# module directory, zero or more dynamic feature module directories. See https://
|
396
|
+
# developer.android.com/guide/app-bundle/build for guidance on building App
|
397
|
+
# Bundles.
|
398
|
+
# Corresponds to the JSON property `appBundle`
|
399
|
+
# @return [Google::Apis::TestingV1::AppBundle]
|
400
|
+
attr_accessor :app_bundle
|
401
|
+
|
402
|
+
# The initial activity that should be used to start the app.
|
403
|
+
# Corresponds to the JSON property `appInitialActivity`
|
404
|
+
# @return [String]
|
405
|
+
attr_accessor :app_initial_activity
|
406
|
+
|
407
|
+
# The java package for the application under test. The default value is
|
408
|
+
# determined by examining the application's manifest.
|
409
|
+
# Corresponds to the JSON property `appPackageId`
|
410
|
+
# @return [String]
|
411
|
+
attr_accessor :app_package_id
|
412
|
+
|
413
|
+
# The max depth of the traversal stack Robo can explore. Needs to be at least 2
|
414
|
+
# to make Robo explore the app beyond the first activity. Default is 50.
|
415
|
+
# Corresponds to the JSON property `maxDepth`
|
416
|
+
# @return [Fixnum]
|
417
|
+
attr_accessor :max_depth
|
418
|
+
|
419
|
+
# The max number of steps Robo can execute. Default is no limit.
|
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. This allows users to
|
425
|
+
# customize the crawl. For example, the username and password for a test account
|
426
|
+
# can be provided.
|
427
|
+
# Corresponds to the JSON property `roboDirectives`
|
428
|
+
# @return [Array<Google::Apis::TestingV1::RoboDirective>]
|
429
|
+
attr_accessor :robo_directives
|
430
|
+
|
431
|
+
# A reference to a file, used for user inputs.
|
432
|
+
# Corresponds to the JSON property `roboScript`
|
433
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
434
|
+
attr_accessor :robo_script
|
435
|
+
|
436
|
+
# The intents used to launch the app for the crawl. If none are provided, then
|
437
|
+
# the main launcher activity is launched. If some are provided, then only those
|
438
|
+
# provided are launched (the main launcher activity must be provided explicitly).
|
439
|
+
# Corresponds to the JSON property `startingIntents`
|
440
|
+
# @return [Array<Google::Apis::TestingV1::RoboStartingIntent>]
|
441
|
+
attr_accessor :starting_intents
|
442
|
+
|
443
|
+
def initialize(**args)
|
444
|
+
update!(**args)
|
445
|
+
end
|
446
|
+
|
447
|
+
# Update properties of this object
|
448
|
+
def update!(**args)
|
449
|
+
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
450
|
+
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
451
|
+
@app_initial_activity = args[:app_initial_activity] if args.key?(:app_initial_activity)
|
452
|
+
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
453
|
+
@max_depth = args[:max_depth] if args.key?(:max_depth)
|
454
|
+
@max_steps = args[:max_steps] if args.key?(:max_steps)
|
455
|
+
@robo_directives = args[:robo_directives] if args.key?(:robo_directives)
|
456
|
+
@robo_script = args[:robo_script] if args.key?(:robo_script)
|
457
|
+
@starting_intents = args[:starting_intents] if args.key?(:starting_intents)
|
458
|
+
end
|
459
|
+
end
|
460
|
+
|
461
|
+
# Android configuration that can be selected at the time a test is run.
|
462
|
+
class AndroidRuntimeConfiguration
|
463
|
+
include Google::Apis::Core::Hashable
|
464
|
+
|
465
|
+
# The set of available locales.
|
466
|
+
# Corresponds to the JSON property `locales`
|
467
|
+
# @return [Array<Google::Apis::TestingV1::Locale>]
|
468
|
+
attr_accessor :locales
|
469
|
+
|
470
|
+
# The set of available orientations.
|
471
|
+
# Corresponds to the JSON property `orientations`
|
472
|
+
# @return [Array<Google::Apis::TestingV1::Orientation>]
|
473
|
+
attr_accessor :orientations
|
474
|
+
|
475
|
+
def initialize(**args)
|
476
|
+
update!(**args)
|
477
|
+
end
|
478
|
+
|
479
|
+
# Update properties of this object
|
480
|
+
def update!(**args)
|
481
|
+
@locales = args[:locales] if args.key?(:locales)
|
482
|
+
@orientations = args[:orientations] if args.key?(:orientations)
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
# A test of an Android Application with a Test Loop. The intent \ will be
|
487
|
+
# implicitly added, since Games is the only user of this api, for the time being.
|
488
|
+
class AndroidTestLoop
|
489
|
+
include Google::Apis::Core::Hashable
|
490
|
+
|
491
|
+
# A reference to a file, used for user inputs.
|
492
|
+
# Corresponds to the JSON property `appApk`
|
493
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
494
|
+
attr_accessor :app_apk
|
495
|
+
|
496
|
+
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
497
|
+
# module directory, zero or more dynamic feature module directories. See https://
|
498
|
+
# developer.android.com/guide/app-bundle/build for guidance on building App
|
499
|
+
# Bundles.
|
500
|
+
# Corresponds to the JSON property `appBundle`
|
501
|
+
# @return [Google::Apis::TestingV1::AppBundle]
|
502
|
+
attr_accessor :app_bundle
|
503
|
+
|
504
|
+
# The java package for the application under test. The default is determined by
|
505
|
+
# examining the application's manifest.
|
506
|
+
# Corresponds to the JSON property `appPackageId`
|
507
|
+
# @return [String]
|
508
|
+
attr_accessor :app_package_id
|
509
|
+
|
510
|
+
# The list of scenario labels that should be run during the test. The scenario
|
511
|
+
# labels should map to labels defined in the application's manifest. For example,
|
512
|
+
# player_experience and com.google.test.loops.player_experience add all of the
|
513
|
+
# loops labeled in the manifest with the com.google.test.loops.player_experience
|
514
|
+
# name to the execution. Scenarios can also be specified in the scenarios field.
|
515
|
+
# Corresponds to the JSON property `scenarioLabels`
|
516
|
+
# @return [Array<String>]
|
517
|
+
attr_accessor :scenario_labels
|
518
|
+
|
519
|
+
# The list of scenarios that should be run during the test. The default is all
|
520
|
+
# test loops, derived from the application's manifest.
|
521
|
+
# Corresponds to the JSON property `scenarios`
|
522
|
+
# @return [Array<Fixnum>]
|
523
|
+
attr_accessor :scenarios
|
524
|
+
|
525
|
+
def initialize(**args)
|
526
|
+
update!(**args)
|
527
|
+
end
|
528
|
+
|
529
|
+
# Update properties of this object
|
530
|
+
def update!(**args)
|
531
|
+
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
532
|
+
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
533
|
+
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
534
|
+
@scenario_labels = args[:scenario_labels] if args.key?(:scenario_labels)
|
535
|
+
@scenarios = args[:scenarios] if args.key?(:scenarios)
|
536
|
+
end
|
537
|
+
end
|
538
|
+
|
539
|
+
# A version of the Android OS.
|
540
|
+
class AndroidVersion
|
541
|
+
include Google::Apis::Core::Hashable
|
542
|
+
|
543
|
+
# The API level for this Android version. Examples: 18, 19.
|
544
|
+
# Corresponds to the JSON property `apiLevel`
|
545
|
+
# @return [Fixnum]
|
546
|
+
attr_accessor :api_level
|
547
|
+
|
548
|
+
# The code name for this Android version. Examples: "JellyBean", "KitKat".
|
549
|
+
# Corresponds to the JSON property `codeName`
|
550
|
+
# @return [String]
|
551
|
+
attr_accessor :code_name
|
552
|
+
|
553
|
+
# Data about the relative number of devices running a given configuration of the
|
554
|
+
# Android platform.
|
555
|
+
# Corresponds to the JSON property `distribution`
|
556
|
+
# @return [Google::Apis::TestingV1::Distribution]
|
557
|
+
attr_accessor :distribution
|
558
|
+
|
559
|
+
# An opaque id for this Android version. Use this id to invoke the
|
560
|
+
# TestExecutionService.
|
561
|
+
# Corresponds to the JSON property `id`
|
562
|
+
# @return [String]
|
563
|
+
attr_accessor :id
|
564
|
+
|
565
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
566
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
567
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
568
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
569
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
570
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
571
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
572
|
+
# google.protobuf.Timestamp`.
|
573
|
+
# Corresponds to the JSON property `releaseDate`
|
574
|
+
# @return [Google::Apis::TestingV1::Date]
|
575
|
+
attr_accessor :release_date
|
576
|
+
|
577
|
+
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
578
|
+
# Corresponds to the JSON property `tags`
|
579
|
+
# @return [Array<String>]
|
580
|
+
attr_accessor :tags
|
581
|
+
|
582
|
+
# A string representing this version of the Android OS. Examples: "4.3", "4.4".
|
583
|
+
# Corresponds to the JSON property `versionString`
|
584
|
+
# @return [String]
|
585
|
+
attr_accessor :version_string
|
586
|
+
|
587
|
+
def initialize(**args)
|
588
|
+
update!(**args)
|
589
|
+
end
|
590
|
+
|
591
|
+
# Update properties of this object
|
592
|
+
def update!(**args)
|
593
|
+
@api_level = args[:api_level] if args.key?(:api_level)
|
594
|
+
@code_name = args[:code_name] if args.key?(:code_name)
|
595
|
+
@distribution = args[:distribution] if args.key?(:distribution)
|
596
|
+
@id = args[:id] if args.key?(:id)
|
597
|
+
@release_date = args[:release_date] if args.key?(:release_date)
|
598
|
+
@tags = args[:tags] if args.key?(:tags)
|
599
|
+
@version_string = args[:version_string] if args.key?(:version_string)
|
600
|
+
end
|
601
|
+
end
|
602
|
+
|
603
|
+
# An Android package file to install.
|
604
|
+
class Apk
|
605
|
+
include Google::Apis::Core::Hashable
|
606
|
+
|
607
|
+
# A reference to a file, used for user inputs.
|
608
|
+
# Corresponds to the JSON property `location`
|
609
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
610
|
+
attr_accessor :location
|
611
|
+
|
612
|
+
# The java package for the APK to be installed. Value is determined by examining
|
613
|
+
# the application's manifest.
|
614
|
+
# Corresponds to the JSON property `packageName`
|
615
|
+
# @return [String]
|
616
|
+
attr_accessor :package_name
|
617
|
+
|
618
|
+
def initialize(**args)
|
619
|
+
update!(**args)
|
620
|
+
end
|
621
|
+
|
622
|
+
# Update properties of this object
|
623
|
+
def update!(**args)
|
624
|
+
@location = args[:location] if args.key?(:location)
|
625
|
+
@package_name = args[:package_name] if args.key?(:package_name)
|
626
|
+
end
|
627
|
+
end
|
628
|
+
|
629
|
+
# Android application details based on application manifest and apk archive
|
630
|
+
# contents.
|
631
|
+
class ApkDetail
|
632
|
+
include Google::Apis::Core::Hashable
|
633
|
+
|
634
|
+
# An Android app manifest. See http://developer.android.com/guide/topics/
|
635
|
+
# manifest/manifest-intro.html
|
636
|
+
# Corresponds to the JSON property `apkManifest`
|
637
|
+
# @return [Google::Apis::TestingV1::ApkManifest]
|
638
|
+
attr_accessor :apk_manifest
|
639
|
+
|
640
|
+
def initialize(**args)
|
641
|
+
update!(**args)
|
642
|
+
end
|
643
|
+
|
644
|
+
# Update properties of this object
|
645
|
+
def update!(**args)
|
646
|
+
@apk_manifest = args[:apk_manifest] if args.key?(:apk_manifest)
|
647
|
+
end
|
648
|
+
end
|
649
|
+
|
650
|
+
# An Android app manifest. See http://developer.android.com/guide/topics/
|
651
|
+
# manifest/manifest-intro.html
|
652
|
+
class ApkManifest
|
653
|
+
include Google::Apis::Core::Hashable
|
654
|
+
|
655
|
+
# User-readable name for the application.
|
656
|
+
# Corresponds to the JSON property `applicationLabel`
|
657
|
+
# @return [String]
|
658
|
+
attr_accessor :application_label
|
659
|
+
|
660
|
+
#
|
661
|
+
# Corresponds to the JSON property `intentFilters`
|
662
|
+
# @return [Array<Google::Apis::TestingV1::IntentFilter>]
|
663
|
+
attr_accessor :intent_filters
|
664
|
+
|
665
|
+
# Maximum API level on which the application is designed to run.
|
666
|
+
# Corresponds to the JSON property `maxSdkVersion`
|
667
|
+
# @return [Fixnum]
|
668
|
+
attr_accessor :max_sdk_version
|
669
|
+
|
670
|
+
# Minimum API level required for the application to run.
|
671
|
+
# Corresponds to the JSON property `minSdkVersion`
|
672
|
+
# @return [Fixnum]
|
673
|
+
attr_accessor :min_sdk_version
|
674
|
+
|
675
|
+
# Full Java-style package name for this application, e.g. "com.example.foo".
|
676
|
+
# Corresponds to the JSON property `packageName`
|
677
|
+
# @return [String]
|
678
|
+
attr_accessor :package_name
|
679
|
+
|
680
|
+
# Specifies the API Level on which the application is designed to run.
|
681
|
+
# Corresponds to the JSON property `targetSdkVersion`
|
682
|
+
# @return [Fixnum]
|
683
|
+
attr_accessor :target_sdk_version
|
684
|
+
|
685
|
+
def initialize(**args)
|
686
|
+
update!(**args)
|
687
|
+
end
|
688
|
+
|
689
|
+
# Update properties of this object
|
690
|
+
def update!(**args)
|
691
|
+
@application_label = args[:application_label] if args.key?(:application_label)
|
692
|
+
@intent_filters = args[:intent_filters] if args.key?(:intent_filters)
|
693
|
+
@max_sdk_version = args[:max_sdk_version] if args.key?(:max_sdk_version)
|
694
|
+
@min_sdk_version = args[:min_sdk_version] if args.key?(:min_sdk_version)
|
695
|
+
@package_name = args[:package_name] if args.key?(:package_name)
|
696
|
+
@target_sdk_version = args[:target_sdk_version] if args.key?(:target_sdk_version)
|
697
|
+
end
|
698
|
+
end
|
699
|
+
|
700
|
+
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
701
|
+
# module directory, zero or more dynamic feature module directories. See https://
|
702
|
+
# developer.android.com/guide/app-bundle/build for guidance on building App
|
703
|
+
# Bundles.
|
704
|
+
class AppBundle
|
705
|
+
include Google::Apis::Core::Hashable
|
706
|
+
|
707
|
+
# A reference to a file, used for user inputs.
|
708
|
+
# Corresponds to the JSON property `bundleLocation`
|
709
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
710
|
+
attr_accessor :bundle_location
|
711
|
+
|
712
|
+
def initialize(**args)
|
713
|
+
update!(**args)
|
714
|
+
end
|
715
|
+
|
716
|
+
# Update properties of this object
|
717
|
+
def update!(**args)
|
718
|
+
@bundle_location = args[:bundle_location] if args.key?(:bundle_location)
|
719
|
+
end
|
720
|
+
end
|
721
|
+
|
722
|
+
# Response containing the current state of the specified test matrix.
|
723
|
+
class CancelTestMatrixResponse
|
724
|
+
include Google::Apis::Core::Hashable
|
725
|
+
|
726
|
+
# The current rolled-up state of the test matrix. If this state is already final,
|
727
|
+
# then the cancelation request will have no effect.
|
728
|
+
# Corresponds to the JSON property `testState`
|
729
|
+
# @return [String]
|
730
|
+
attr_accessor :test_state
|
731
|
+
|
732
|
+
def initialize(**args)
|
733
|
+
update!(**args)
|
734
|
+
end
|
735
|
+
|
736
|
+
# Update properties of this object
|
737
|
+
def update!(**args)
|
738
|
+
@test_state = args[:test_state] if args.key?(:test_state)
|
739
|
+
end
|
740
|
+
end
|
741
|
+
|
742
|
+
# Information about the client which invoked the test.
|
743
|
+
class ClientInfo
|
744
|
+
include Google::Apis::Core::Hashable
|
745
|
+
|
746
|
+
# The list of detailed information about client.
|
747
|
+
# Corresponds to the JSON property `clientInfoDetails`
|
748
|
+
# @return [Array<Google::Apis::TestingV1::ClientInfoDetail>]
|
749
|
+
attr_accessor :client_info_details
|
750
|
+
|
751
|
+
# Required. Client name, such as gcloud.
|
752
|
+
# Corresponds to the JSON property `name`
|
753
|
+
# @return [String]
|
754
|
+
attr_accessor :name
|
755
|
+
|
756
|
+
def initialize(**args)
|
757
|
+
update!(**args)
|
758
|
+
end
|
759
|
+
|
760
|
+
# Update properties of this object
|
761
|
+
def update!(**args)
|
762
|
+
@client_info_details = args[:client_info_details] if args.key?(:client_info_details)
|
763
|
+
@name = args[:name] if args.key?(:name)
|
764
|
+
end
|
765
|
+
end
|
766
|
+
|
767
|
+
# Key-value pair of detailed information about the client which invoked the test.
|
768
|
+
# Examples: `'Version', '1.0'`, `'Release Track', 'BETA'`.
|
769
|
+
class ClientInfoDetail
|
770
|
+
include Google::Apis::Core::Hashable
|
771
|
+
|
772
|
+
# Required. The key of detailed client information.
|
773
|
+
# Corresponds to the JSON property `key`
|
774
|
+
# @return [String]
|
775
|
+
attr_accessor :key
|
776
|
+
|
777
|
+
# Required. The value of detailed client information.
|
778
|
+
# Corresponds to the JSON property `value`
|
779
|
+
# @return [String]
|
780
|
+
attr_accessor :value
|
781
|
+
|
782
|
+
def initialize(**args)
|
783
|
+
update!(**args)
|
784
|
+
end
|
785
|
+
|
786
|
+
# Update properties of this object
|
787
|
+
def update!(**args)
|
788
|
+
@key = args[:key] if args.key?(:key)
|
789
|
+
@value = args[:value] if args.key?(:value)
|
790
|
+
end
|
791
|
+
end
|
792
|
+
|
793
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
794
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
795
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
796
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
797
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
798
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
799
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
800
|
+
# google.protobuf.Timestamp`.
|
801
|
+
class Date
|
802
|
+
include Google::Apis::Core::Hashable
|
803
|
+
|
804
|
+
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
|
805
|
+
# specify a year by itself or a year and month where the day isn't significant.
|
806
|
+
# Corresponds to the JSON property `day`
|
807
|
+
# @return [Fixnum]
|
808
|
+
attr_accessor :day
|
809
|
+
|
810
|
+
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
|
811
|
+
# and day.
|
812
|
+
# Corresponds to the JSON property `month`
|
813
|
+
# @return [Fixnum]
|
814
|
+
attr_accessor :month
|
815
|
+
|
816
|
+
# Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
|
817
|
+
# year.
|
818
|
+
# Corresponds to the JSON property `year`
|
819
|
+
# @return [Fixnum]
|
820
|
+
attr_accessor :year
|
821
|
+
|
822
|
+
def initialize(**args)
|
823
|
+
update!(**args)
|
824
|
+
end
|
825
|
+
|
826
|
+
# Update properties of this object
|
827
|
+
def update!(**args)
|
828
|
+
@day = args[:day] if args.key?(:day)
|
829
|
+
@month = args[:month] if args.key?(:month)
|
830
|
+
@year = args[:year] if args.key?(:year)
|
831
|
+
end
|
832
|
+
end
|
833
|
+
|
834
|
+
# A single device file description.
|
835
|
+
class DeviceFile
|
836
|
+
include Google::Apis::Core::Hashable
|
837
|
+
|
838
|
+
# An opaque binary blob file to install on the device before the test starts.
|
839
|
+
# Corresponds to the JSON property `obbFile`
|
840
|
+
# @return [Google::Apis::TestingV1::ObbFile]
|
841
|
+
attr_accessor :obb_file
|
842
|
+
|
843
|
+
# A file or directory to install on the device before the test starts.
|
844
|
+
# Corresponds to the JSON property `regularFile`
|
845
|
+
# @return [Google::Apis::TestingV1::RegularFile]
|
846
|
+
attr_accessor :regular_file
|
847
|
+
|
848
|
+
def initialize(**args)
|
849
|
+
update!(**args)
|
850
|
+
end
|
851
|
+
|
852
|
+
# Update properties of this object
|
853
|
+
def update!(**args)
|
854
|
+
@obb_file = args[:obb_file] if args.key?(:obb_file)
|
855
|
+
@regular_file = args[:regular_file] if args.key?(:regular_file)
|
856
|
+
end
|
857
|
+
end
|
858
|
+
|
859
|
+
# A single device IP block
|
860
|
+
class DeviceIpBlock
|
861
|
+
include Google::Apis::Core::Hashable
|
862
|
+
|
863
|
+
# Represents a whole or partial calendar date, such as a birthday. The time of
|
864
|
+
# day and time zone are either specified elsewhere or are insignificant. The
|
865
|
+
# date is relative to the Gregorian Calendar. This can represent one of the
|
866
|
+
# following: * A full date, with non-zero year, month, and day values * A month
|
867
|
+
# and day value, with a zero year, such as an anniversary * A year on its own,
|
868
|
+
# with zero month and day values * A year and month value, with a zero day, such
|
869
|
+
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
870
|
+
# google.protobuf.Timestamp`.
|
871
|
+
# Corresponds to the JSON property `addedDate`
|
872
|
+
# @return [Google::Apis::TestingV1::Date]
|
873
|
+
attr_accessor :added_date
|
874
|
+
|
875
|
+
# An IP address block in CIDR notation eg: 34.68.194.64/29
|
876
|
+
# Corresponds to the JSON property `block`
|
877
|
+
# @return [String]
|
878
|
+
attr_accessor :block
|
879
|
+
|
880
|
+
# Whether this block is used by physical or virtual devices
|
881
|
+
# Corresponds to the JSON property `form`
|
882
|
+
# @return [String]
|
883
|
+
attr_accessor :form
|
884
|
+
|
885
|
+
def initialize(**args)
|
886
|
+
update!(**args)
|
887
|
+
end
|
888
|
+
|
889
|
+
# Update properties of this object
|
890
|
+
def update!(**args)
|
891
|
+
@added_date = args[:added_date] if args.key?(:added_date)
|
892
|
+
@block = args[:block] if args.key?(:block)
|
893
|
+
@form = args[:form] if args.key?(:form)
|
894
|
+
end
|
895
|
+
end
|
896
|
+
|
897
|
+
# List of IP blocks used by the Firebase Test Lab
|
898
|
+
class DeviceIpBlockCatalog
|
899
|
+
include Google::Apis::Core::Hashable
|
900
|
+
|
901
|
+
# The device IP blocks used by Firebase Test Lab
|
902
|
+
# Corresponds to the JSON property `ipBlocks`
|
903
|
+
# @return [Array<Google::Apis::TestingV1::DeviceIpBlock>]
|
904
|
+
attr_accessor :ip_blocks
|
905
|
+
|
906
|
+
def initialize(**args)
|
907
|
+
update!(**args)
|
908
|
+
end
|
909
|
+
|
910
|
+
# Update properties of this object
|
911
|
+
def update!(**args)
|
912
|
+
@ip_blocks = args[:ip_blocks] if args.key?(:ip_blocks)
|
913
|
+
end
|
914
|
+
end
|
915
|
+
|
916
|
+
# Data about the relative number of devices running a given configuration of the
|
917
|
+
# Android platform.
|
918
|
+
class Distribution
|
919
|
+
include Google::Apis::Core::Hashable
|
920
|
+
|
921
|
+
# Output only. The estimated fraction (0-1) of the total market with this
|
922
|
+
# configuration.
|
923
|
+
# Corresponds to the JSON property `marketShare`
|
924
|
+
# @return [Float]
|
925
|
+
attr_accessor :market_share
|
926
|
+
|
927
|
+
# Output only. The time this distribution was measured.
|
928
|
+
# Corresponds to the JSON property `measurementTime`
|
929
|
+
# @return [String]
|
930
|
+
attr_accessor :measurement_time
|
931
|
+
|
932
|
+
def initialize(**args)
|
933
|
+
update!(**args)
|
934
|
+
end
|
935
|
+
|
936
|
+
# Update properties of this object
|
937
|
+
def update!(**args)
|
938
|
+
@market_share = args[:market_share] if args.key?(:market_share)
|
939
|
+
@measurement_time = args[:measurement_time] if args.key?(:measurement_time)
|
940
|
+
end
|
941
|
+
end
|
942
|
+
|
943
|
+
# The environment in which the test is run.
|
944
|
+
class Environment
|
945
|
+
include Google::Apis::Core::Hashable
|
946
|
+
|
947
|
+
# A single Android device.
|
948
|
+
# Corresponds to the JSON property `androidDevice`
|
949
|
+
# @return [Google::Apis::TestingV1::AndroidDevice]
|
950
|
+
attr_accessor :android_device
|
951
|
+
|
952
|
+
# A single iOS device.
|
953
|
+
# Corresponds to the JSON property `iosDevice`
|
954
|
+
# @return [Google::Apis::TestingV1::IosDevice]
|
955
|
+
attr_accessor :ios_device
|
956
|
+
|
957
|
+
def initialize(**args)
|
958
|
+
update!(**args)
|
959
|
+
end
|
960
|
+
|
961
|
+
# Update properties of this object
|
962
|
+
def update!(**args)
|
963
|
+
@android_device = args[:android_device] if args.key?(:android_device)
|
964
|
+
@ios_device = args[:ios_device] if args.key?(:ios_device)
|
965
|
+
end
|
966
|
+
end
|
967
|
+
|
968
|
+
# The matrix of environments in which the test is to be executed.
|
969
|
+
class EnvironmentMatrix
|
970
|
+
include Google::Apis::Core::Hashable
|
971
|
+
|
972
|
+
# A list of Android device configurations in which the test is to be executed.
|
973
|
+
# Corresponds to the JSON property `androidDeviceList`
|
974
|
+
# @return [Google::Apis::TestingV1::AndroidDeviceList]
|
975
|
+
attr_accessor :android_device_list
|
976
|
+
|
977
|
+
# A set of Android device configuration permutations is defined by the the cross-
|
978
|
+
# product of the given axes. Internally, the given AndroidMatrix will be
|
979
|
+
# expanded into a set of AndroidDevices. Only supported permutations will be
|
980
|
+
# instantiated. Invalid permutations (e.g., incompatible models/versions) are
|
981
|
+
# ignored.
|
982
|
+
# Corresponds to the JSON property `androidMatrix`
|
983
|
+
# @return [Google::Apis::TestingV1::AndroidMatrix]
|
984
|
+
attr_accessor :android_matrix
|
985
|
+
|
986
|
+
# A list of iOS device configurations in which the test is to be executed.
|
987
|
+
# Corresponds to the JSON property `iosDeviceList`
|
988
|
+
# @return [Google::Apis::TestingV1::IosDeviceList]
|
989
|
+
attr_accessor :ios_device_list
|
990
|
+
|
991
|
+
def initialize(**args)
|
992
|
+
update!(**args)
|
993
|
+
end
|
994
|
+
|
995
|
+
# Update properties of this object
|
996
|
+
def update!(**args)
|
997
|
+
@android_device_list = args[:android_device_list] if args.key?(:android_device_list)
|
998
|
+
@android_matrix = args[:android_matrix] if args.key?(:android_matrix)
|
999
|
+
@ios_device_list = args[:ios_device_list] if args.key?(:ios_device_list)
|
1000
|
+
end
|
1001
|
+
end
|
1002
|
+
|
1003
|
+
# A key-value pair passed as an environment variable to the test.
|
1004
|
+
class EnvironmentVariable
|
1005
|
+
include Google::Apis::Core::Hashable
|
1006
|
+
|
1007
|
+
# Key for the environment variable.
|
1008
|
+
# Corresponds to the JSON property `key`
|
1009
|
+
# @return [String]
|
1010
|
+
attr_accessor :key
|
1011
|
+
|
1012
|
+
# Value for the environment variable.
|
1013
|
+
# Corresponds to the JSON property `value`
|
1014
|
+
# @return [String]
|
1015
|
+
attr_accessor :value
|
1016
|
+
|
1017
|
+
def initialize(**args)
|
1018
|
+
update!(**args)
|
1019
|
+
end
|
1020
|
+
|
1021
|
+
# Update properties of this object
|
1022
|
+
def update!(**args)
|
1023
|
+
@key = args[:key] if args.key?(:key)
|
1024
|
+
@value = args[:value] if args.key?(:value)
|
1025
|
+
end
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
# A reference to a file, used for user inputs.
|
1029
|
+
class FileReference
|
1030
|
+
include Google::Apis::Core::Hashable
|
1031
|
+
|
1032
|
+
# A path to a file in Google Cloud Storage. Example: gs://build-app-
|
1033
|
+
# 1414623860166/app%40debug-unaligned.apk These paths are expected to be url
|
1034
|
+
# encoded (percent encoding)
|
1035
|
+
# Corresponds to the JSON property `gcsPath`
|
1036
|
+
# @return [String]
|
1037
|
+
attr_accessor :gcs_path
|
1038
|
+
|
1039
|
+
def initialize(**args)
|
1040
|
+
update!(**args)
|
1041
|
+
end
|
1042
|
+
|
1043
|
+
# Update properties of this object
|
1044
|
+
def update!(**args)
|
1045
|
+
@gcs_path = args[:gcs_path] if args.key?(:gcs_path)
|
1046
|
+
end
|
1047
|
+
end
|
1048
|
+
|
1049
|
+
# Response containing the details of the specified Android application APK.
|
1050
|
+
class GetApkDetailsResponse
|
1051
|
+
include Google::Apis::Core::Hashable
|
1052
|
+
|
1053
|
+
# Android application details based on application manifest and apk archive
|
1054
|
+
# contents.
|
1055
|
+
# Corresponds to the JSON property `apkDetail`
|
1056
|
+
# @return [Google::Apis::TestingV1::ApkDetail]
|
1057
|
+
attr_accessor :apk_detail
|
1058
|
+
|
1059
|
+
def initialize(**args)
|
1060
|
+
update!(**args)
|
1061
|
+
end
|
1062
|
+
|
1063
|
+
# Update properties of this object
|
1064
|
+
def update!(**args)
|
1065
|
+
@apk_detail = args[:apk_detail] if args.key?(:apk_detail)
|
1066
|
+
end
|
1067
|
+
end
|
1068
|
+
|
1069
|
+
# Enables automatic Google account login. If set, the service automatically
|
1070
|
+
# generates a Google test account and adds it to the device, before executing
|
1071
|
+
# the test. Note that test accounts might be reused. Many applications show
|
1072
|
+
# their full set of functionalities when an account is present on the device.
|
1073
|
+
# Logging into the device with these generated accounts allows testing more
|
1074
|
+
# functionalities.
|
1075
|
+
class GoogleAuto
|
1076
|
+
include Google::Apis::Core::Hashable
|
1077
|
+
|
1078
|
+
def initialize(**args)
|
1079
|
+
update!(**args)
|
1080
|
+
end
|
1081
|
+
|
1082
|
+
# Update properties of this object
|
1083
|
+
def update!(**args)
|
1084
|
+
end
|
1085
|
+
end
|
1086
|
+
|
1087
|
+
# A storage location within Google cloud storage (GCS).
|
1088
|
+
class GoogleCloudStorage
|
1089
|
+
include Google::Apis::Core::Hashable
|
1090
|
+
|
1091
|
+
# Required. The path to a directory in GCS that will eventually contain the
|
1092
|
+
# results for this test. The requesting user must have write access on the
|
1093
|
+
# bucket in the supplied path.
|
1094
|
+
# Corresponds to the JSON property `gcsPath`
|
1095
|
+
# @return [String]
|
1096
|
+
attr_accessor :gcs_path
|
1097
|
+
|
1098
|
+
def initialize(**args)
|
1099
|
+
update!(**args)
|
1100
|
+
end
|
1101
|
+
|
1102
|
+
# Update properties of this object
|
1103
|
+
def update!(**args)
|
1104
|
+
@gcs_path = args[:gcs_path] if args.key?(:gcs_path)
|
1105
|
+
end
|
1106
|
+
end
|
1107
|
+
|
1108
|
+
# The section of an tag. https://developer.android.com/guide/topics/manifest/
|
1109
|
+
# intent-filter-element.html
|
1110
|
+
class IntentFilter
|
1111
|
+
include Google::Apis::Core::Hashable
|
1112
|
+
|
1113
|
+
# The android:name value of the tag.
|
1114
|
+
# Corresponds to the JSON property `actionNames`
|
1115
|
+
# @return [Array<String>]
|
1116
|
+
attr_accessor :action_names
|
1117
|
+
|
1118
|
+
# The android:name value of the tag.
|
1119
|
+
# Corresponds to the JSON property `categoryNames`
|
1120
|
+
# @return [Array<String>]
|
1121
|
+
attr_accessor :category_names
|
1122
|
+
|
1123
|
+
# The android:mimeType value of the tag.
|
1124
|
+
# Corresponds to the JSON property `mimeType`
|
1125
|
+
# @return [String]
|
1126
|
+
attr_accessor :mime_type
|
1127
|
+
|
1128
|
+
def initialize(**args)
|
1129
|
+
update!(**args)
|
1130
|
+
end
|
1131
|
+
|
1132
|
+
# Update properties of this object
|
1133
|
+
def update!(**args)
|
1134
|
+
@action_names = args[:action_names] if args.key?(:action_names)
|
1135
|
+
@category_names = args[:category_names] if args.key?(:category_names)
|
1136
|
+
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
1137
|
+
end
|
1138
|
+
end
|
1139
|
+
|
1140
|
+
# A single iOS device.
|
1141
|
+
class IosDevice
|
1142
|
+
include Google::Apis::Core::Hashable
|
1143
|
+
|
1144
|
+
# Required. The id of the iOS device to be used. Use the
|
1145
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
1146
|
+
# Corresponds to the JSON property `iosModelId`
|
1147
|
+
# @return [String]
|
1148
|
+
attr_accessor :ios_model_id
|
1149
|
+
|
1150
|
+
# Required. The id of the iOS major software version to be used. Use the
|
1151
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
1152
|
+
# Corresponds to the JSON property `iosVersionId`
|
1153
|
+
# @return [String]
|
1154
|
+
attr_accessor :ios_version_id
|
1155
|
+
|
1156
|
+
# Required. The locale the test device used for testing. Use the
|
1157
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
1158
|
+
# Corresponds to the JSON property `locale`
|
1159
|
+
# @return [String]
|
1160
|
+
attr_accessor :locale
|
1161
|
+
|
1162
|
+
# Required. How the device is oriented during the test. Use the
|
1163
|
+
# TestEnvironmentDiscoveryService to get supported options.
|
1164
|
+
# Corresponds to the JSON property `orientation`
|
1165
|
+
# @return [String]
|
1166
|
+
attr_accessor :orientation
|
1167
|
+
|
1168
|
+
def initialize(**args)
|
1169
|
+
update!(**args)
|
1170
|
+
end
|
1171
|
+
|
1172
|
+
# Update properties of this object
|
1173
|
+
def update!(**args)
|
1174
|
+
@ios_model_id = args[:ios_model_id] if args.key?(:ios_model_id)
|
1175
|
+
@ios_version_id = args[:ios_version_id] if args.key?(:ios_version_id)
|
1176
|
+
@locale = args[:locale] if args.key?(:locale)
|
1177
|
+
@orientation = args[:orientation] if args.key?(:orientation)
|
1178
|
+
end
|
1179
|
+
end
|
1180
|
+
|
1181
|
+
# The currently supported iOS devices.
|
1182
|
+
class IosDeviceCatalog
|
1183
|
+
include Google::Apis::Core::Hashable
|
1184
|
+
|
1185
|
+
# The set of supported iOS device models.
|
1186
|
+
# Corresponds to the JSON property `models`
|
1187
|
+
# @return [Array<Google::Apis::TestingV1::IosModel>]
|
1188
|
+
attr_accessor :models
|
1189
|
+
|
1190
|
+
# iOS configuration that can be selected at the time a test is run.
|
1191
|
+
# Corresponds to the JSON property `runtimeConfiguration`
|
1192
|
+
# @return [Google::Apis::TestingV1::IosRuntimeConfiguration]
|
1193
|
+
attr_accessor :runtime_configuration
|
1194
|
+
|
1195
|
+
# The set of supported iOS software versions.
|
1196
|
+
# Corresponds to the JSON property `versions`
|
1197
|
+
# @return [Array<Google::Apis::TestingV1::IosVersion>]
|
1198
|
+
attr_accessor :versions
|
1199
|
+
|
1200
|
+
# The set of supported Xcode versions.
|
1201
|
+
# Corresponds to the JSON property `xcodeVersions`
|
1202
|
+
# @return [Array<Google::Apis::TestingV1::XcodeVersion>]
|
1203
|
+
attr_accessor :xcode_versions
|
1204
|
+
|
1205
|
+
def initialize(**args)
|
1206
|
+
update!(**args)
|
1207
|
+
end
|
1208
|
+
|
1209
|
+
# Update properties of this object
|
1210
|
+
def update!(**args)
|
1211
|
+
@models = args[:models] if args.key?(:models)
|
1212
|
+
@runtime_configuration = args[:runtime_configuration] if args.key?(:runtime_configuration)
|
1213
|
+
@versions = args[:versions] if args.key?(:versions)
|
1214
|
+
@xcode_versions = args[:xcode_versions] if args.key?(:xcode_versions)
|
1215
|
+
end
|
1216
|
+
end
|
1217
|
+
|
1218
|
+
# A file or directory to install on the device before the test starts.
|
1219
|
+
class IosDeviceFile
|
1220
|
+
include Google::Apis::Core::Hashable
|
1221
|
+
|
1222
|
+
# The bundle id of the app where this file lives. iOS apps sandbox their own
|
1223
|
+
# filesystem, so app files must specify which app installed on the device.
|
1224
|
+
# Corresponds to the JSON property `bundleId`
|
1225
|
+
# @return [String]
|
1226
|
+
attr_accessor :bundle_id
|
1227
|
+
|
1228
|
+
# A reference to a file, used for user inputs.
|
1229
|
+
# Corresponds to the JSON property `content`
|
1230
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1231
|
+
attr_accessor :content
|
1232
|
+
|
1233
|
+
# Location of the file on the device, inside the app's sandboxed filesystem
|
1234
|
+
# Corresponds to the JSON property `devicePath`
|
1235
|
+
# @return [String]
|
1236
|
+
attr_accessor :device_path
|
1237
|
+
|
1238
|
+
def initialize(**args)
|
1239
|
+
update!(**args)
|
1240
|
+
end
|
1241
|
+
|
1242
|
+
# Update properties of this object
|
1243
|
+
def update!(**args)
|
1244
|
+
@bundle_id = args[:bundle_id] if args.key?(:bundle_id)
|
1245
|
+
@content = args[:content] if args.key?(:content)
|
1246
|
+
@device_path = args[:device_path] if args.key?(:device_path)
|
1247
|
+
end
|
1248
|
+
end
|
1249
|
+
|
1250
|
+
# A list of iOS device configurations in which the test is to be executed.
|
1251
|
+
class IosDeviceList
|
1252
|
+
include Google::Apis::Core::Hashable
|
1253
|
+
|
1254
|
+
# Required. A list of iOS devices.
|
1255
|
+
# Corresponds to the JSON property `iosDevices`
|
1256
|
+
# @return [Array<Google::Apis::TestingV1::IosDevice>]
|
1257
|
+
attr_accessor :ios_devices
|
1258
|
+
|
1259
|
+
def initialize(**args)
|
1260
|
+
update!(**args)
|
1261
|
+
end
|
1262
|
+
|
1263
|
+
# Update properties of this object
|
1264
|
+
def update!(**args)
|
1265
|
+
@ios_devices = args[:ios_devices] if args.key?(:ios_devices)
|
1266
|
+
end
|
1267
|
+
end
|
1268
|
+
|
1269
|
+
# A description of an iOS device tests may be run on.
|
1270
|
+
class IosModel
|
1271
|
+
include Google::Apis::Core::Hashable
|
1272
|
+
|
1273
|
+
# Device capabilities. Copied from https://developer.apple.com/library/archive/
|
1274
|
+
# documentation/DeviceInformation/Reference/iOSDeviceCompatibility/
|
1275
|
+
# DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
|
1276
|
+
# Corresponds to the JSON property `deviceCapabilities`
|
1277
|
+
# @return [Array<String>]
|
1278
|
+
attr_accessor :device_capabilities
|
1279
|
+
|
1280
|
+
# Whether this device is a phone, tablet, wearable, etc.
|
1281
|
+
# Corresponds to the JSON property `formFactor`
|
1282
|
+
# @return [String]
|
1283
|
+
attr_accessor :form_factor
|
1284
|
+
|
1285
|
+
# The unique opaque id for this model. Use this for invoking the
|
1286
|
+
# TestExecutionService.
|
1287
|
+
# Corresponds to the JSON property `id`
|
1288
|
+
# @return [String]
|
1289
|
+
attr_accessor :id
|
1290
|
+
|
1291
|
+
# The human-readable name for this device model. Examples: "iPhone 4s", "iPad
|
1292
|
+
# Mini 2".
|
1293
|
+
# Corresponds to the JSON property `name`
|
1294
|
+
# @return [String]
|
1295
|
+
attr_accessor :name
|
1296
|
+
|
1297
|
+
# Screen density in DPI.
|
1298
|
+
# Corresponds to the JSON property `screenDensity`
|
1299
|
+
# @return [Fixnum]
|
1300
|
+
attr_accessor :screen_density
|
1301
|
+
|
1302
|
+
# Screen size in the horizontal (X) dimension measured in pixels.
|
1303
|
+
# Corresponds to the JSON property `screenX`
|
1304
|
+
# @return [Fixnum]
|
1305
|
+
attr_accessor :screen_x
|
1306
|
+
|
1307
|
+
# Screen size in the vertical (Y) dimension measured in pixels.
|
1308
|
+
# Corresponds to the JSON property `screenY`
|
1309
|
+
# @return [Fixnum]
|
1310
|
+
attr_accessor :screen_y
|
1311
|
+
|
1312
|
+
# The set of iOS major software versions this device supports.
|
1313
|
+
# Corresponds to the JSON property `supportedVersionIds`
|
1314
|
+
# @return [Array<String>]
|
1315
|
+
attr_accessor :supported_version_ids
|
1316
|
+
|
1317
|
+
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
1318
|
+
# Corresponds to the JSON property `tags`
|
1319
|
+
# @return [Array<String>]
|
1320
|
+
attr_accessor :tags
|
1321
|
+
|
1322
|
+
def initialize(**args)
|
1323
|
+
update!(**args)
|
1324
|
+
end
|
1325
|
+
|
1326
|
+
# Update properties of this object
|
1327
|
+
def update!(**args)
|
1328
|
+
@device_capabilities = args[:device_capabilities] if args.key?(:device_capabilities)
|
1329
|
+
@form_factor = args[:form_factor] if args.key?(:form_factor)
|
1330
|
+
@id = args[:id] if args.key?(:id)
|
1331
|
+
@name = args[:name] if args.key?(:name)
|
1332
|
+
@screen_density = args[:screen_density] if args.key?(:screen_density)
|
1333
|
+
@screen_x = args[:screen_x] if args.key?(:screen_x)
|
1334
|
+
@screen_y = args[:screen_y] if args.key?(:screen_y)
|
1335
|
+
@supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)
|
1336
|
+
@tags = args[:tags] if args.key?(:tags)
|
1337
|
+
end
|
1338
|
+
end
|
1339
|
+
|
1340
|
+
# iOS configuration that can be selected at the time a test is run.
|
1341
|
+
class IosRuntimeConfiguration
|
1342
|
+
include Google::Apis::Core::Hashable
|
1343
|
+
|
1344
|
+
# The set of available locales.
|
1345
|
+
# Corresponds to the JSON property `locales`
|
1346
|
+
# @return [Array<Google::Apis::TestingV1::Locale>]
|
1347
|
+
attr_accessor :locales
|
1348
|
+
|
1349
|
+
# The set of available orientations.
|
1350
|
+
# Corresponds to the JSON property `orientations`
|
1351
|
+
# @return [Array<Google::Apis::TestingV1::Orientation>]
|
1352
|
+
attr_accessor :orientations
|
1353
|
+
|
1354
|
+
def initialize(**args)
|
1355
|
+
update!(**args)
|
1356
|
+
end
|
1357
|
+
|
1358
|
+
# Update properties of this object
|
1359
|
+
def update!(**args)
|
1360
|
+
@locales = args[:locales] if args.key?(:locales)
|
1361
|
+
@orientations = args[:orientations] if args.key?(:orientations)
|
1362
|
+
end
|
1363
|
+
end
|
1364
|
+
|
1365
|
+
# A test of an iOS application that implements one or more game loop scenarios.
|
1366
|
+
# This test type accepts an archived application (.ipa file) and a list of
|
1367
|
+
# integer scenarios that will be executed on the app sequentially.
|
1368
|
+
class IosTestLoop
|
1369
|
+
include Google::Apis::Core::Hashable
|
1370
|
+
|
1371
|
+
# Output only. The bundle id for the application under test.
|
1372
|
+
# Corresponds to the JSON property `appBundleId`
|
1373
|
+
# @return [String]
|
1374
|
+
attr_accessor :app_bundle_id
|
1375
|
+
|
1376
|
+
# A reference to a file, used for user inputs.
|
1377
|
+
# Corresponds to the JSON property `appIpa`
|
1378
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1379
|
+
attr_accessor :app_ipa
|
1380
|
+
|
1381
|
+
# The list of scenarios that should be run during the test. Defaults to the
|
1382
|
+
# single scenario 0 if unspecified.
|
1383
|
+
# Corresponds to the JSON property `scenarios`
|
1384
|
+
# @return [Array<Fixnum>]
|
1385
|
+
attr_accessor :scenarios
|
1386
|
+
|
1387
|
+
def initialize(**args)
|
1388
|
+
update!(**args)
|
1389
|
+
end
|
1390
|
+
|
1391
|
+
# Update properties of this object
|
1392
|
+
def update!(**args)
|
1393
|
+
@app_bundle_id = args[:app_bundle_id] if args.key?(:app_bundle_id)
|
1394
|
+
@app_ipa = args[:app_ipa] if args.key?(:app_ipa)
|
1395
|
+
@scenarios = args[:scenarios] if args.key?(:scenarios)
|
1396
|
+
end
|
1397
|
+
end
|
1398
|
+
|
1399
|
+
# A description of how to set up an iOS device prior to running the test.
|
1400
|
+
class IosTestSetup
|
1401
|
+
include Google::Apis::Core::Hashable
|
1402
|
+
|
1403
|
+
# iOS apps to install in addition to those being directly tested.
|
1404
|
+
# Corresponds to the JSON property `additionalIpas`
|
1405
|
+
# @return [Array<Google::Apis::TestingV1::FileReference>]
|
1406
|
+
attr_accessor :additional_ipas
|
1407
|
+
|
1408
|
+
# The network traffic profile used for running the test. Available network
|
1409
|
+
# profiles can be queried by using the NETWORK_CONFIGURATION environment type
|
1410
|
+
# when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
1411
|
+
# Corresponds to the JSON property `networkProfile`
|
1412
|
+
# @return [String]
|
1413
|
+
attr_accessor :network_profile
|
1414
|
+
|
1415
|
+
# List of directories on the device to upload to Cloud Storage at the end of the
|
1416
|
+
# test. Directories should either be in a shared directory (e.g. /private/var/
|
1417
|
+
# mobile/Media) or within an accessible directory inside the app's filesystem (e.
|
1418
|
+
# g. /Documents) by specifying the bundle id.
|
1419
|
+
# Corresponds to the JSON property `pullDirectories`
|
1420
|
+
# @return [Array<Google::Apis::TestingV1::IosDeviceFile>]
|
1421
|
+
attr_accessor :pull_directories
|
1422
|
+
|
1423
|
+
# List of files to push to the device before starting the test.
|
1424
|
+
# Corresponds to the JSON property `pushFiles`
|
1425
|
+
# @return [Array<Google::Apis::TestingV1::IosDeviceFile>]
|
1426
|
+
attr_accessor :push_files
|
1427
|
+
|
1428
|
+
def initialize(**args)
|
1429
|
+
update!(**args)
|
1430
|
+
end
|
1431
|
+
|
1432
|
+
# Update properties of this object
|
1433
|
+
def update!(**args)
|
1434
|
+
@additional_ipas = args[:additional_ipas] if args.key?(:additional_ipas)
|
1435
|
+
@network_profile = args[:network_profile] if args.key?(:network_profile)
|
1436
|
+
@pull_directories = args[:pull_directories] if args.key?(:pull_directories)
|
1437
|
+
@push_files = args[:push_files] if args.key?(:push_files)
|
1438
|
+
end
|
1439
|
+
end
|
1440
|
+
|
1441
|
+
# An iOS version.
|
1442
|
+
class IosVersion
|
1443
|
+
include Google::Apis::Core::Hashable
|
1444
|
+
|
1445
|
+
# An opaque id for this iOS version. Use this id to invoke the
|
1446
|
+
# TestExecutionService.
|
1447
|
+
# Corresponds to the JSON property `id`
|
1448
|
+
# @return [String]
|
1449
|
+
attr_accessor :id
|
1450
|
+
|
1451
|
+
# An integer representing the major iOS version. Examples: "8", "9".
|
1452
|
+
# Corresponds to the JSON property `majorVersion`
|
1453
|
+
# @return [Fixnum]
|
1454
|
+
attr_accessor :major_version
|
1455
|
+
|
1456
|
+
# An integer representing the minor iOS version. Examples: "1", "2".
|
1457
|
+
# Corresponds to the JSON property `minorVersion`
|
1458
|
+
# @return [Fixnum]
|
1459
|
+
attr_accessor :minor_version
|
1460
|
+
|
1461
|
+
# The available Xcode versions for this version.
|
1462
|
+
# Corresponds to the JSON property `supportedXcodeVersionIds`
|
1463
|
+
# @return [Array<String>]
|
1464
|
+
attr_accessor :supported_xcode_version_ids
|
1465
|
+
|
1466
|
+
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
1467
|
+
# Corresponds to the JSON property `tags`
|
1468
|
+
# @return [Array<String>]
|
1469
|
+
attr_accessor :tags
|
1470
|
+
|
1471
|
+
def initialize(**args)
|
1472
|
+
update!(**args)
|
1473
|
+
end
|
1474
|
+
|
1475
|
+
# Update properties of this object
|
1476
|
+
def update!(**args)
|
1477
|
+
@id = args[:id] if args.key?(:id)
|
1478
|
+
@major_version = args[:major_version] if args.key?(:major_version)
|
1479
|
+
@minor_version = args[:minor_version] if args.key?(:minor_version)
|
1480
|
+
@supported_xcode_version_ids = args[:supported_xcode_version_ids] if args.key?(:supported_xcode_version_ids)
|
1481
|
+
@tags = args[:tags] if args.key?(:tags)
|
1482
|
+
end
|
1483
|
+
end
|
1484
|
+
|
1485
|
+
# A test of an iOS application that uses the XCTest framework. Xcode supports
|
1486
|
+
# the option to "build for testing", which generates an .xctestrun file that
|
1487
|
+
# contains a test specification (arguments, test methods, etc). This test type
|
1488
|
+
# accepts a zip file containing the .xctestrun file and the corresponding
|
1489
|
+
# contents of the Build/Products directory that contains all the binaries needed
|
1490
|
+
# to run the tests.
|
1491
|
+
class IosXcTest
|
1492
|
+
include Google::Apis::Core::Hashable
|
1493
|
+
|
1494
|
+
# Output only. The bundle id for the application under test.
|
1495
|
+
# Corresponds to the JSON property `appBundleId`
|
1496
|
+
# @return [String]
|
1497
|
+
attr_accessor :app_bundle_id
|
1498
|
+
|
1499
|
+
# The option to test special app entitlements. Setting this would re-sign the
|
1500
|
+
# app having special entitlements with an explicit application-identifier.
|
1501
|
+
# Currently supports testing aps-environment entitlement.
|
1502
|
+
# Corresponds to the JSON property `testSpecialEntitlements`
|
1503
|
+
# @return [Boolean]
|
1504
|
+
attr_accessor :test_special_entitlements
|
1505
|
+
alias_method :test_special_entitlements?, :test_special_entitlements
|
1506
|
+
|
1507
|
+
# A reference to a file, used for user inputs.
|
1508
|
+
# Corresponds to the JSON property `testsZip`
|
1509
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1510
|
+
attr_accessor :tests_zip
|
1511
|
+
|
1512
|
+
# The Xcode version that should be used for the test. Use the
|
1513
|
+
# TestEnvironmentDiscoveryService to get supported options. Defaults to the
|
1514
|
+
# latest Xcode version Firebase Test Lab supports.
|
1515
|
+
# Corresponds to the JSON property `xcodeVersion`
|
1516
|
+
# @return [String]
|
1517
|
+
attr_accessor :xcode_version
|
1518
|
+
|
1519
|
+
# A reference to a file, used for user inputs.
|
1520
|
+
# Corresponds to the JSON property `xctestrun`
|
1521
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1522
|
+
attr_accessor :xctestrun
|
1523
|
+
|
1524
|
+
def initialize(**args)
|
1525
|
+
update!(**args)
|
1526
|
+
end
|
1527
|
+
|
1528
|
+
# Update properties of this object
|
1529
|
+
def update!(**args)
|
1530
|
+
@app_bundle_id = args[:app_bundle_id] if args.key?(:app_bundle_id)
|
1531
|
+
@test_special_entitlements = args[:test_special_entitlements] if args.key?(:test_special_entitlements)
|
1532
|
+
@tests_zip = args[:tests_zip] if args.key?(:tests_zip)
|
1533
|
+
@xcode_version = args[:xcode_version] if args.key?(:xcode_version)
|
1534
|
+
@xctestrun = args[:xctestrun] if args.key?(:xctestrun)
|
1535
|
+
end
|
1536
|
+
end
|
1537
|
+
|
1538
|
+
# Specifies an intent that starts the main launcher activity.
|
1539
|
+
class LauncherActivityIntent
|
1540
|
+
include Google::Apis::Core::Hashable
|
1541
|
+
|
1542
|
+
def initialize(**args)
|
1543
|
+
update!(**args)
|
1544
|
+
end
|
1545
|
+
|
1546
|
+
# Update properties of this object
|
1547
|
+
def update!(**args)
|
1548
|
+
end
|
1549
|
+
end
|
1550
|
+
|
1551
|
+
# A location/region designation for language.
|
1552
|
+
class Locale
|
1553
|
+
include Google::Apis::Core::Hashable
|
1554
|
+
|
1555
|
+
# The id for this locale. Example: "en_US".
|
1556
|
+
# Corresponds to the JSON property `id`
|
1557
|
+
# @return [String]
|
1558
|
+
attr_accessor :id
|
1559
|
+
|
1560
|
+
# A human-friendly name for this language/locale. Example: "English".
|
1561
|
+
# Corresponds to the JSON property `name`
|
1562
|
+
# @return [String]
|
1563
|
+
attr_accessor :name
|
1564
|
+
|
1565
|
+
# A human-friendly string representing the region for this locale. Example: "
|
1566
|
+
# United States". Not present for every locale.
|
1567
|
+
# Corresponds to the JSON property `region`
|
1568
|
+
# @return [String]
|
1569
|
+
attr_accessor :region
|
1570
|
+
|
1571
|
+
# Tags for this dimension. Example: "default".
|
1572
|
+
# Corresponds to the JSON property `tags`
|
1573
|
+
# @return [Array<String>]
|
1574
|
+
attr_accessor :tags
|
1575
|
+
|
1576
|
+
def initialize(**args)
|
1577
|
+
update!(**args)
|
1578
|
+
end
|
1579
|
+
|
1580
|
+
# Update properties of this object
|
1581
|
+
def update!(**args)
|
1582
|
+
@id = args[:id] if args.key?(:id)
|
1583
|
+
@name = args[:name] if args.key?(:name)
|
1584
|
+
@region = args[:region] if args.key?(:region)
|
1585
|
+
@tags = args[:tags] if args.key?(:tags)
|
1586
|
+
end
|
1587
|
+
end
|
1588
|
+
|
1589
|
+
# Shards test cases into the specified groups of packages, classes, and/or
|
1590
|
+
# methods. With manual sharding enabled, specifying test targets via
|
1591
|
+
# environment_variables or in InstrumentationTest is invalid.
|
1592
|
+
class ManualSharding
|
1593
|
+
include Google::Apis::Core::Hashable
|
1594
|
+
|
1595
|
+
# Required. Group of packages, classes, and/or test methods to be run for each
|
1596
|
+
# shard. When any physical devices are selected, the number of
|
1597
|
+
# test_targets_for_shard must be >= 1 and <= 50. When no physical devices are
|
1598
|
+
# selected, the number must be >= 1 and <= 500.
|
1599
|
+
# Corresponds to the JSON property `testTargetsForShard`
|
1600
|
+
# @return [Array<Google::Apis::TestingV1::TestTargetsForShard>]
|
1601
|
+
attr_accessor :test_targets_for_shard
|
1602
|
+
|
1603
|
+
def initialize(**args)
|
1604
|
+
update!(**args)
|
1605
|
+
end
|
1606
|
+
|
1607
|
+
# Update properties of this object
|
1608
|
+
def update!(**args)
|
1609
|
+
@test_targets_for_shard = args[:test_targets_for_shard] if args.key?(:test_targets_for_shard)
|
1610
|
+
end
|
1611
|
+
end
|
1612
|
+
|
1613
|
+
#
|
1614
|
+
class NetworkConfiguration
|
1615
|
+
include Google::Apis::Core::Hashable
|
1616
|
+
|
1617
|
+
# Network emulation parameters.
|
1618
|
+
# Corresponds to the JSON property `downRule`
|
1619
|
+
# @return [Google::Apis::TestingV1::TrafficRule]
|
1620
|
+
attr_accessor :down_rule
|
1621
|
+
|
1622
|
+
# The unique opaque id for this network traffic configuration.
|
1623
|
+
# Corresponds to the JSON property `id`
|
1624
|
+
# @return [String]
|
1625
|
+
attr_accessor :id
|
1626
|
+
|
1627
|
+
# Network emulation parameters.
|
1628
|
+
# Corresponds to the JSON property `upRule`
|
1629
|
+
# @return [Google::Apis::TestingV1::TrafficRule]
|
1630
|
+
attr_accessor :up_rule
|
1631
|
+
|
1632
|
+
def initialize(**args)
|
1633
|
+
update!(**args)
|
1634
|
+
end
|
1635
|
+
|
1636
|
+
# Update properties of this object
|
1637
|
+
def update!(**args)
|
1638
|
+
@down_rule = args[:down_rule] if args.key?(:down_rule)
|
1639
|
+
@id = args[:id] if args.key?(:id)
|
1640
|
+
@up_rule = args[:up_rule] if args.key?(:up_rule)
|
1641
|
+
end
|
1642
|
+
end
|
1643
|
+
|
1644
|
+
#
|
1645
|
+
class NetworkConfigurationCatalog
|
1646
|
+
include Google::Apis::Core::Hashable
|
1647
|
+
|
1648
|
+
#
|
1649
|
+
# Corresponds to the JSON property `configurations`
|
1650
|
+
# @return [Array<Google::Apis::TestingV1::NetworkConfiguration>]
|
1651
|
+
attr_accessor :configurations
|
1652
|
+
|
1653
|
+
def initialize(**args)
|
1654
|
+
update!(**args)
|
1655
|
+
end
|
1656
|
+
|
1657
|
+
# Update properties of this object
|
1658
|
+
def update!(**args)
|
1659
|
+
@configurations = args[:configurations] if args.key?(:configurations)
|
1660
|
+
end
|
1661
|
+
end
|
1662
|
+
|
1663
|
+
# An opaque binary blob file to install on the device before the test starts.
|
1664
|
+
class ObbFile
|
1665
|
+
include Google::Apis::Core::Hashable
|
1666
|
+
|
1667
|
+
# A reference to a file, used for user inputs.
|
1668
|
+
# Corresponds to the JSON property `obb`
|
1669
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1670
|
+
attr_accessor :obb
|
1671
|
+
|
1672
|
+
# Required. OBB file name which must conform to the format as specified by
|
1673
|
+
# Android e.g. [main|patch].0300110.com.example.android.obb which will be
|
1674
|
+
# installed into \/Android/obb/\/ on the device.
|
1675
|
+
# Corresponds to the JSON property `obbFileName`
|
1676
|
+
# @return [String]
|
1677
|
+
attr_accessor :obb_file_name
|
1678
|
+
|
1679
|
+
def initialize(**args)
|
1680
|
+
update!(**args)
|
1681
|
+
end
|
1682
|
+
|
1683
|
+
# Update properties of this object
|
1684
|
+
def update!(**args)
|
1685
|
+
@obb = args[:obb] if args.key?(:obb)
|
1686
|
+
@obb_file_name = args[:obb_file_name] if args.key?(:obb_file_name)
|
1687
|
+
end
|
1688
|
+
end
|
1689
|
+
|
1690
|
+
# Screen orientation of the device.
|
1691
|
+
class Orientation
|
1692
|
+
include Google::Apis::Core::Hashable
|
1693
|
+
|
1694
|
+
# The id for this orientation. Example: "portrait".
|
1695
|
+
# Corresponds to the JSON property `id`
|
1696
|
+
# @return [String]
|
1697
|
+
attr_accessor :id
|
1698
|
+
|
1699
|
+
# A human-friendly name for this orientation. Example: "portrait".
|
1700
|
+
# Corresponds to the JSON property `name`
|
1701
|
+
# @return [String]
|
1702
|
+
attr_accessor :name
|
1703
|
+
|
1704
|
+
# Tags for this dimension. Example: "default".
|
1705
|
+
# Corresponds to the JSON property `tags`
|
1706
|
+
# @return [Array<String>]
|
1707
|
+
attr_accessor :tags
|
1708
|
+
|
1709
|
+
def initialize(**args)
|
1710
|
+
update!(**args)
|
1711
|
+
end
|
1712
|
+
|
1713
|
+
# Update properties of this object
|
1714
|
+
def update!(**args)
|
1715
|
+
@id = args[:id] if args.key?(:id)
|
1716
|
+
@name = args[:name] if args.key?(:name)
|
1717
|
+
@tags = args[:tags] if args.key?(:tags)
|
1718
|
+
end
|
1719
|
+
end
|
1720
|
+
|
1721
|
+
# The currently provided software environment on the devices under test.
|
1722
|
+
class ProvidedSoftwareCatalog
|
1723
|
+
include Google::Apis::Core::Hashable
|
1724
|
+
|
1725
|
+
# A string representing the current version of Android Test Orchestrator that is
|
1726
|
+
# provided by TestExecutionService. Example: "1.0.2 beta".
|
1727
|
+
# Corresponds to the JSON property `orchestratorVersion`
|
1728
|
+
# @return [String]
|
1729
|
+
attr_accessor :orchestrator_version
|
1730
|
+
|
1731
|
+
def initialize(**args)
|
1732
|
+
update!(**args)
|
1733
|
+
end
|
1734
|
+
|
1735
|
+
# Update properties of this object
|
1736
|
+
def update!(**args)
|
1737
|
+
@orchestrator_version = args[:orchestrator_version] if args.key?(:orchestrator_version)
|
1738
|
+
end
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
# A file or directory to install on the device before the test starts.
|
1742
|
+
class RegularFile
|
1743
|
+
include Google::Apis::Core::Hashable
|
1744
|
+
|
1745
|
+
# A reference to a file, used for user inputs.
|
1746
|
+
# Corresponds to the JSON property `content`
|
1747
|
+
# @return [Google::Apis::TestingV1::FileReference]
|
1748
|
+
attr_accessor :content
|
1749
|
+
|
1750
|
+
# Required. Where to put the content on the device. Must be an absolute,
|
1751
|
+
# allowlisted path. If the file exists, it will be replaced. The following
|
1752
|
+
# device-side directories and any of their subdirectories are allowlisted: $`
|
1753
|
+
# EXTERNAL_STORAGE`, /sdcard, or /storage $`ANDROID_DATA`/local/tmp, or /data/
|
1754
|
+
# local/tmp Specifying a path outside of these directory trees is invalid. The
|
1755
|
+
# paths /sdcard and /data will be made available and treated as implicit path
|
1756
|
+
# substitutions. E.g. if /sdcard on a particular device does not map to external
|
1757
|
+
# storage, the system will replace it with the external storage path prefix for
|
1758
|
+
# that device and copy the file there. It is strongly advised to use the
|
1759
|
+
# Environment API in app and test code to access files on the device in a
|
1760
|
+
# portable way.
|
1761
|
+
# Corresponds to the JSON property `devicePath`
|
1762
|
+
# @return [String]
|
1763
|
+
attr_accessor :device_path
|
1764
|
+
|
1765
|
+
def initialize(**args)
|
1766
|
+
update!(**args)
|
1767
|
+
end
|
1768
|
+
|
1769
|
+
# Update properties of this object
|
1770
|
+
def update!(**args)
|
1771
|
+
@content = args[:content] if args.key?(:content)
|
1772
|
+
@device_path = args[:device_path] if args.key?(:device_path)
|
1773
|
+
end
|
1774
|
+
end
|
1775
|
+
|
1776
|
+
# Locations where the results of running the test are stored.
|
1777
|
+
class ResultStorage
|
1778
|
+
include Google::Apis::Core::Hashable
|
1779
|
+
|
1780
|
+
# A storage location within Google cloud storage (GCS).
|
1781
|
+
# Corresponds to the JSON property `googleCloudStorage`
|
1782
|
+
# @return [Google::Apis::TestingV1::GoogleCloudStorage]
|
1783
|
+
attr_accessor :google_cloud_storage
|
1784
|
+
|
1785
|
+
# Output only. URL to the results in the Firebase Web Console.
|
1786
|
+
# Corresponds to the JSON property `resultsUrl`
|
1787
|
+
# @return [String]
|
1788
|
+
attr_accessor :results_url
|
1789
|
+
|
1790
|
+
# Represents a tool results execution resource. This has the results of a
|
1791
|
+
# TestMatrix.
|
1792
|
+
# Corresponds to the JSON property `toolResultsExecution`
|
1793
|
+
# @return [Google::Apis::TestingV1::ToolResultsExecution]
|
1794
|
+
attr_accessor :tool_results_execution
|
1795
|
+
|
1796
|
+
# Represents a tool results history resource.
|
1797
|
+
# Corresponds to the JSON property `toolResultsHistory`
|
1798
|
+
# @return [Google::Apis::TestingV1::ToolResultsHistory]
|
1799
|
+
attr_accessor :tool_results_history
|
1800
|
+
|
1801
|
+
def initialize(**args)
|
1802
|
+
update!(**args)
|
1803
|
+
end
|
1804
|
+
|
1805
|
+
# Update properties of this object
|
1806
|
+
def update!(**args)
|
1807
|
+
@google_cloud_storage = args[:google_cloud_storage] if args.key?(:google_cloud_storage)
|
1808
|
+
@results_url = args[:results_url] if args.key?(:results_url)
|
1809
|
+
@tool_results_execution = args[:tool_results_execution] if args.key?(:tool_results_execution)
|
1810
|
+
@tool_results_history = args[:tool_results_history] if args.key?(:tool_results_history)
|
1811
|
+
end
|
1812
|
+
end
|
1813
|
+
|
1814
|
+
# Directs Robo to interact with a specific UI element if it is encountered
|
1815
|
+
# during the crawl. Currently, Robo can perform text entry or element click.
|
1816
|
+
class RoboDirective
|
1817
|
+
include Google::Apis::Core::Hashable
|
1818
|
+
|
1819
|
+
# Required. The type of action that Robo should perform on the specified element.
|
1820
|
+
# Corresponds to the JSON property `actionType`
|
1821
|
+
# @return [String]
|
1822
|
+
attr_accessor :action_type
|
1823
|
+
|
1824
|
+
# The text that Robo is directed to set. If left empty, the directive will be
|
1825
|
+
# treated as a CLICK on the element matching the resource_name.
|
1826
|
+
# Corresponds to the JSON property `inputText`
|
1827
|
+
# @return [String]
|
1828
|
+
attr_accessor :input_text
|
1829
|
+
|
1830
|
+
# Required. The android resource name of the target UI element. For example, in
|
1831
|
+
# Java: R.string.foo in xml: @string/foo Only the "foo" part is needed.
|
1832
|
+
# Reference doc: https://developer.android.com/guide/topics/resources/accessing-
|
1833
|
+
# resources.html
|
1834
|
+
# Corresponds to the JSON property `resourceName`
|
1835
|
+
# @return [String]
|
1836
|
+
attr_accessor :resource_name
|
1837
|
+
|
1838
|
+
def initialize(**args)
|
1839
|
+
update!(**args)
|
1840
|
+
end
|
1841
|
+
|
1842
|
+
# Update properties of this object
|
1843
|
+
def update!(**args)
|
1844
|
+
@action_type = args[:action_type] if args.key?(:action_type)
|
1845
|
+
@input_text = args[:input_text] if args.key?(:input_text)
|
1846
|
+
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
1847
|
+
end
|
1848
|
+
end
|
1849
|
+
|
1850
|
+
# Message for specifying the start activities to crawl.
|
1851
|
+
class RoboStartingIntent
|
1852
|
+
include Google::Apis::Core::Hashable
|
1853
|
+
|
1854
|
+
# Specifies an intent that starts the main launcher activity.
|
1855
|
+
# Corresponds to the JSON property `launcherActivity`
|
1856
|
+
# @return [Google::Apis::TestingV1::LauncherActivityIntent]
|
1857
|
+
attr_accessor :launcher_activity
|
1858
|
+
|
1859
|
+
# A starting intent specified by an action, uri, and categories.
|
1860
|
+
# Corresponds to the JSON property `startActivity`
|
1861
|
+
# @return [Google::Apis::TestingV1::StartActivityIntent]
|
1862
|
+
attr_accessor :start_activity
|
1863
|
+
|
1864
|
+
# Timeout in seconds for each intent.
|
1865
|
+
# Corresponds to the JSON property `timeout`
|
1866
|
+
# @return [String]
|
1867
|
+
attr_accessor :timeout
|
1868
|
+
|
1869
|
+
def initialize(**args)
|
1870
|
+
update!(**args)
|
1871
|
+
end
|
1872
|
+
|
1873
|
+
# Update properties of this object
|
1874
|
+
def update!(**args)
|
1875
|
+
@launcher_activity = args[:launcher_activity] if args.key?(:launcher_activity)
|
1876
|
+
@start_activity = args[:start_activity] if args.key?(:start_activity)
|
1877
|
+
@timeout = args[:timeout] if args.key?(:timeout)
|
1878
|
+
end
|
1879
|
+
end
|
1880
|
+
|
1881
|
+
# Output only. Details about the shard.
|
1882
|
+
class Shard
|
1883
|
+
include Google::Apis::Core::Hashable
|
1884
|
+
|
1885
|
+
# Output only. The total number of shards.
|
1886
|
+
# Corresponds to the JSON property `numShards`
|
1887
|
+
# @return [Fixnum]
|
1888
|
+
attr_accessor :num_shards
|
1889
|
+
|
1890
|
+
# Output only. The index of the shard among all the shards.
|
1891
|
+
# Corresponds to the JSON property `shardIndex`
|
1892
|
+
# @return [Fixnum]
|
1893
|
+
attr_accessor :shard_index
|
1894
|
+
|
1895
|
+
# Test targets for a shard.
|
1896
|
+
# Corresponds to the JSON property `testTargetsForShard`
|
1897
|
+
# @return [Google::Apis::TestingV1::TestTargetsForShard]
|
1898
|
+
attr_accessor :test_targets_for_shard
|
1899
|
+
|
1900
|
+
def initialize(**args)
|
1901
|
+
update!(**args)
|
1902
|
+
end
|
1903
|
+
|
1904
|
+
# Update properties of this object
|
1905
|
+
def update!(**args)
|
1906
|
+
@num_shards = args[:num_shards] if args.key?(:num_shards)
|
1907
|
+
@shard_index = args[:shard_index] if args.key?(:shard_index)
|
1908
|
+
@test_targets_for_shard = args[:test_targets_for_shard] if args.key?(:test_targets_for_shard)
|
1909
|
+
end
|
1910
|
+
end
|
1911
|
+
|
1912
|
+
# Options for enabling sharding.
|
1913
|
+
class ShardingOption
|
1914
|
+
include Google::Apis::Core::Hashable
|
1915
|
+
|
1916
|
+
# Shards test cases into the specified groups of packages, classes, and/or
|
1917
|
+
# methods. With manual sharding enabled, specifying test targets via
|
1918
|
+
# environment_variables or in InstrumentationTest is invalid.
|
1919
|
+
# Corresponds to the JSON property `manualSharding`
|
1920
|
+
# @return [Google::Apis::TestingV1::ManualSharding]
|
1921
|
+
attr_accessor :manual_sharding
|
1922
|
+
|
1923
|
+
# Uniformly shards test cases given a total number of shards. For
|
1924
|
+
# Instrumentation test, it will be translated to "-e numShard" "-e shardIndex"
|
1925
|
+
# AndroidJUnitRunner arguments. With uniform sharding enabled, specifying these
|
1926
|
+
# sharding arguments via environment_variables is invalid.
|
1927
|
+
# Corresponds to the JSON property `uniformSharding`
|
1928
|
+
# @return [Google::Apis::TestingV1::UniformSharding]
|
1929
|
+
attr_accessor :uniform_sharding
|
1930
|
+
|
1931
|
+
def initialize(**args)
|
1932
|
+
update!(**args)
|
1933
|
+
end
|
1934
|
+
|
1935
|
+
# Update properties of this object
|
1936
|
+
def update!(**args)
|
1937
|
+
@manual_sharding = args[:manual_sharding] if args.key?(:manual_sharding)
|
1938
|
+
@uniform_sharding = args[:uniform_sharding] if args.key?(:uniform_sharding)
|
1939
|
+
end
|
1940
|
+
end
|
1941
|
+
|
1942
|
+
# A starting intent specified by an action, uri, and categories.
|
1943
|
+
class StartActivityIntent
|
1944
|
+
include Google::Apis::Core::Hashable
|
1945
|
+
|
1946
|
+
# Action name. Required for START_ACTIVITY.
|
1947
|
+
# Corresponds to the JSON property `action`
|
1948
|
+
# @return [String]
|
1949
|
+
attr_accessor :action
|
1950
|
+
|
1951
|
+
# Intent categories to set on the intent.
|
1952
|
+
# Corresponds to the JSON property `categories`
|
1953
|
+
# @return [Array<String>]
|
1954
|
+
attr_accessor :categories
|
1955
|
+
|
1956
|
+
# URI for the action.
|
1957
|
+
# Corresponds to the JSON property `uri`
|
1958
|
+
# @return [String]
|
1959
|
+
attr_accessor :uri
|
1960
|
+
|
1961
|
+
def initialize(**args)
|
1962
|
+
update!(**args)
|
1963
|
+
end
|
1964
|
+
|
1965
|
+
# Update properties of this object
|
1966
|
+
def update!(**args)
|
1967
|
+
@action = args[:action] if args.key?(:action)
|
1968
|
+
@categories = args[:categories] if args.key?(:categories)
|
1969
|
+
@uri = args[:uri] if args.key?(:uri)
|
1970
|
+
end
|
1971
|
+
end
|
1972
|
+
|
1973
|
+
#
|
1974
|
+
class SystraceSetup
|
1975
|
+
include Google::Apis::Core::Hashable
|
1976
|
+
|
1977
|
+
# Systrace duration in seconds. Should be between 1 and 30 seconds. 0 disables
|
1978
|
+
# systrace.
|
1979
|
+
# Corresponds to the JSON property `durationSeconds`
|
1980
|
+
# @return [Fixnum]
|
1981
|
+
attr_accessor :duration_seconds
|
1982
|
+
|
1983
|
+
def initialize(**args)
|
1984
|
+
update!(**args)
|
1985
|
+
end
|
1986
|
+
|
1987
|
+
# Update properties of this object
|
1988
|
+
def update!(**args)
|
1989
|
+
@duration_seconds = args[:duration_seconds] if args.key?(:duration_seconds)
|
1990
|
+
end
|
1991
|
+
end
|
1992
|
+
|
1993
|
+
# Additional details about the progress of the running test.
|
1994
|
+
class TestDetails
|
1995
|
+
include Google::Apis::Core::Hashable
|
1996
|
+
|
1997
|
+
# Output only. If the TestState is ERROR, then this string will contain human-
|
1998
|
+
# readable details about the error.
|
1999
|
+
# Corresponds to the JSON property `errorMessage`
|
2000
|
+
# @return [String]
|
2001
|
+
attr_accessor :error_message
|
2002
|
+
|
2003
|
+
# Output only. Human-readable, detailed descriptions of the test's progress. For
|
2004
|
+
# example: "Provisioning a device", "Starting Test". During the course of
|
2005
|
+
# execution new data may be appended to the end of progress_messages.
|
2006
|
+
# Corresponds to the JSON property `progressMessages`
|
2007
|
+
# @return [Array<String>]
|
2008
|
+
attr_accessor :progress_messages
|
2009
|
+
|
2010
|
+
def initialize(**args)
|
2011
|
+
update!(**args)
|
2012
|
+
end
|
2013
|
+
|
2014
|
+
# Update properties of this object
|
2015
|
+
def update!(**args)
|
2016
|
+
@error_message = args[:error_message] if args.key?(:error_message)
|
2017
|
+
@progress_messages = args[:progress_messages] if args.key?(:progress_messages)
|
2018
|
+
end
|
2019
|
+
end
|
2020
|
+
|
2021
|
+
# A description of a test environment.
|
2022
|
+
class TestEnvironmentCatalog
|
2023
|
+
include Google::Apis::Core::Hashable
|
2024
|
+
|
2025
|
+
# The currently supported Android devices.
|
2026
|
+
# Corresponds to the JSON property `androidDeviceCatalog`
|
2027
|
+
# @return [Google::Apis::TestingV1::AndroidDeviceCatalog]
|
2028
|
+
attr_accessor :android_device_catalog
|
2029
|
+
|
2030
|
+
# List of IP blocks used by the Firebase Test Lab
|
2031
|
+
# Corresponds to the JSON property `deviceIpBlockCatalog`
|
2032
|
+
# @return [Google::Apis::TestingV1::DeviceIpBlockCatalog]
|
2033
|
+
attr_accessor :device_ip_block_catalog
|
2034
|
+
|
2035
|
+
# The currently supported iOS devices.
|
2036
|
+
# Corresponds to the JSON property `iosDeviceCatalog`
|
2037
|
+
# @return [Google::Apis::TestingV1::IosDeviceCatalog]
|
2038
|
+
attr_accessor :ios_device_catalog
|
2039
|
+
|
2040
|
+
# Supported network configurations.
|
2041
|
+
# Corresponds to the JSON property `networkConfigurationCatalog`
|
2042
|
+
# @return [Google::Apis::TestingV1::NetworkConfigurationCatalog]
|
2043
|
+
attr_accessor :network_configuration_catalog
|
2044
|
+
|
2045
|
+
# The currently provided software environment on the devices under test.
|
2046
|
+
# Corresponds to the JSON property `softwareCatalog`
|
2047
|
+
# @return [Google::Apis::TestingV1::ProvidedSoftwareCatalog]
|
2048
|
+
attr_accessor :software_catalog
|
2049
|
+
|
2050
|
+
def initialize(**args)
|
2051
|
+
update!(**args)
|
2052
|
+
end
|
2053
|
+
|
2054
|
+
# Update properties of this object
|
2055
|
+
def update!(**args)
|
2056
|
+
@android_device_catalog = args[:android_device_catalog] if args.key?(:android_device_catalog)
|
2057
|
+
@device_ip_block_catalog = args[:device_ip_block_catalog] if args.key?(:device_ip_block_catalog)
|
2058
|
+
@ios_device_catalog = args[:ios_device_catalog] if args.key?(:ios_device_catalog)
|
2059
|
+
@network_configuration_catalog = args[:network_configuration_catalog] if args.key?(:network_configuration_catalog)
|
2060
|
+
@software_catalog = args[:software_catalog] if args.key?(:software_catalog)
|
2061
|
+
end
|
2062
|
+
end
|
2063
|
+
|
2064
|
+
# A single test executed in a single environment.
|
2065
|
+
class TestExecution
|
2066
|
+
include Google::Apis::Core::Hashable
|
2067
|
+
|
2068
|
+
# The environment in which the test is run.
|
2069
|
+
# Corresponds to the JSON property `environment`
|
2070
|
+
# @return [Google::Apis::TestingV1::Environment]
|
2071
|
+
attr_accessor :environment
|
2072
|
+
|
2073
|
+
# Output only. Unique id set by the service.
|
2074
|
+
# Corresponds to the JSON property `id`
|
2075
|
+
# @return [String]
|
2076
|
+
attr_accessor :id
|
2077
|
+
|
2078
|
+
# Output only. Id of the containing TestMatrix.
|
2079
|
+
# Corresponds to the JSON property `matrixId`
|
2080
|
+
# @return [String]
|
2081
|
+
attr_accessor :matrix_id
|
2082
|
+
|
2083
|
+
# Output only. The cloud project that owns the test execution.
|
2084
|
+
# Corresponds to the JSON property `projectId`
|
2085
|
+
# @return [String]
|
2086
|
+
attr_accessor :project_id
|
2087
|
+
|
2088
|
+
# Output only. Details about the shard.
|
2089
|
+
# Corresponds to the JSON property `shard`
|
2090
|
+
# @return [Google::Apis::TestingV1::Shard]
|
2091
|
+
attr_accessor :shard
|
2092
|
+
|
2093
|
+
# Output only. Indicates the current progress of the test execution (e.g.,
|
2094
|
+
# FINISHED).
|
2095
|
+
# Corresponds to the JSON property `state`
|
2096
|
+
# @return [String]
|
2097
|
+
attr_accessor :state
|
2098
|
+
|
2099
|
+
# Additional details about the progress of the running test.
|
2100
|
+
# Corresponds to the JSON property `testDetails`
|
2101
|
+
# @return [Google::Apis::TestingV1::TestDetails]
|
2102
|
+
attr_accessor :test_details
|
2103
|
+
|
2104
|
+
# A description of how to run the test.
|
2105
|
+
# Corresponds to the JSON property `testSpecification`
|
2106
|
+
# @return [Google::Apis::TestingV1::TestSpecification]
|
2107
|
+
attr_accessor :test_specification
|
2108
|
+
|
2109
|
+
# Output only. The time this test execution was initially created.
|
2110
|
+
# Corresponds to the JSON property `timestamp`
|
2111
|
+
# @return [String]
|
2112
|
+
attr_accessor :timestamp
|
2113
|
+
|
2114
|
+
# Represents a tool results step resource. This has the results of a
|
2115
|
+
# TestExecution.
|
2116
|
+
# Corresponds to the JSON property `toolResultsStep`
|
2117
|
+
# @return [Google::Apis::TestingV1::ToolResultsStep]
|
2118
|
+
attr_accessor :tool_results_step
|
2119
|
+
|
2120
|
+
def initialize(**args)
|
2121
|
+
update!(**args)
|
2122
|
+
end
|
2123
|
+
|
2124
|
+
# Update properties of this object
|
2125
|
+
def update!(**args)
|
2126
|
+
@environment = args[:environment] if args.key?(:environment)
|
2127
|
+
@id = args[:id] if args.key?(:id)
|
2128
|
+
@matrix_id = args[:matrix_id] if args.key?(:matrix_id)
|
2129
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
2130
|
+
@shard = args[:shard] if args.key?(:shard)
|
2131
|
+
@state = args[:state] if args.key?(:state)
|
2132
|
+
@test_details = args[:test_details] if args.key?(:test_details)
|
2133
|
+
@test_specification = args[:test_specification] if args.key?(:test_specification)
|
2134
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
2135
|
+
@tool_results_step = args[:tool_results_step] if args.key?(:tool_results_step)
|
2136
|
+
end
|
2137
|
+
end
|
2138
|
+
|
2139
|
+
# TestMatrix captures all details about a test. It contains the environment
|
2140
|
+
# configuration, test specification, test executions and overall state and
|
2141
|
+
# outcome.
|
2142
|
+
class TestMatrix
|
2143
|
+
include Google::Apis::Core::Hashable
|
2144
|
+
|
2145
|
+
# Information about the client which invoked the test.
|
2146
|
+
# Corresponds to the JSON property `clientInfo`
|
2147
|
+
# @return [Google::Apis::TestingV1::ClientInfo]
|
2148
|
+
attr_accessor :client_info
|
2149
|
+
|
2150
|
+
# The matrix of environments in which the test is to be executed.
|
2151
|
+
# Corresponds to the JSON property `environmentMatrix`
|
2152
|
+
# @return [Google::Apis::TestingV1::EnvironmentMatrix]
|
2153
|
+
attr_accessor :environment_matrix
|
2154
|
+
|
2155
|
+
# If true, only a single attempt at most will be made to run each execution/
|
2156
|
+
# shard in the matrix. Flaky test attempts are not affected. Normally, 2 or more
|
2157
|
+
# attempts are made if a potential infrastructure issue is detected. This
|
2158
|
+
# feature is for latency sensitive workloads. The incidence of execution
|
2159
|
+
# failures may be significantly greater for fail-fast matrices and support is
|
2160
|
+
# more limited because of that expectation.
|
2161
|
+
# Corresponds to the JSON property `failFast`
|
2162
|
+
# @return [Boolean]
|
2163
|
+
attr_accessor :fail_fast
|
2164
|
+
alias_method :fail_fast?, :fail_fast
|
2165
|
+
|
2166
|
+
# The number of times a TestExecution should be re-attempted if one or more of
|
2167
|
+
# its test cases fail for any reason. The maximum number of reruns allowed is 10.
|
2168
|
+
# Default is 0, which implies no reruns.
|
2169
|
+
# Corresponds to the JSON property `flakyTestAttempts`
|
2170
|
+
# @return [Fixnum]
|
2171
|
+
attr_accessor :flaky_test_attempts
|
2172
|
+
|
2173
|
+
# Output only. Describes why the matrix is considered invalid. Only useful for
|
2174
|
+
# matrices in the INVALID state.
|
2175
|
+
# Corresponds to the JSON property `invalidMatrixDetails`
|
2176
|
+
# @return [String]
|
2177
|
+
attr_accessor :invalid_matrix_details
|
2178
|
+
|
2179
|
+
# Output Only. The overall outcome of the test. Only set when the test matrix
|
2180
|
+
# state is FINISHED.
|
2181
|
+
# Corresponds to the JSON property `outcomeSummary`
|
2182
|
+
# @return [String]
|
2183
|
+
attr_accessor :outcome_summary
|
2184
|
+
|
2185
|
+
# The cloud project that owns the test matrix.
|
2186
|
+
# Corresponds to the JSON property `projectId`
|
2187
|
+
# @return [String]
|
2188
|
+
attr_accessor :project_id
|
2189
|
+
|
2190
|
+
# Locations where the results of running the test are stored.
|
2191
|
+
# Corresponds to the JSON property `resultStorage`
|
2192
|
+
# @return [Google::Apis::TestingV1::ResultStorage]
|
2193
|
+
attr_accessor :result_storage
|
2194
|
+
|
2195
|
+
# Output only. Indicates the current progress of the test matrix.
|
2196
|
+
# Corresponds to the JSON property `state`
|
2197
|
+
# @return [String]
|
2198
|
+
attr_accessor :state
|
2199
|
+
|
2200
|
+
# Output only. The list of test executions that the service creates for this
|
2201
|
+
# matrix.
|
2202
|
+
# Corresponds to the JSON property `testExecutions`
|
2203
|
+
# @return [Array<Google::Apis::TestingV1::TestExecution>]
|
2204
|
+
attr_accessor :test_executions
|
2205
|
+
|
2206
|
+
# Output only. Unique id set by the service.
|
2207
|
+
# Corresponds to the JSON property `testMatrixId`
|
2208
|
+
# @return [String]
|
2209
|
+
attr_accessor :test_matrix_id
|
2210
|
+
|
2211
|
+
# A description of how to run the test.
|
2212
|
+
# Corresponds to the JSON property `testSpecification`
|
2213
|
+
# @return [Google::Apis::TestingV1::TestSpecification]
|
2214
|
+
attr_accessor :test_specification
|
2215
|
+
|
2216
|
+
# Output only. The time this test matrix was initially created.
|
2217
|
+
# Corresponds to the JSON property `timestamp`
|
2218
|
+
# @return [String]
|
2219
|
+
attr_accessor :timestamp
|
2220
|
+
|
2221
|
+
def initialize(**args)
|
2222
|
+
update!(**args)
|
2223
|
+
end
|
2224
|
+
|
2225
|
+
# Update properties of this object
|
2226
|
+
def update!(**args)
|
2227
|
+
@client_info = args[:client_info] if args.key?(:client_info)
|
2228
|
+
@environment_matrix = args[:environment_matrix] if args.key?(:environment_matrix)
|
2229
|
+
@fail_fast = args[:fail_fast] if args.key?(:fail_fast)
|
2230
|
+
@flaky_test_attempts = args[:flaky_test_attempts] if args.key?(:flaky_test_attempts)
|
2231
|
+
@invalid_matrix_details = args[:invalid_matrix_details] if args.key?(:invalid_matrix_details)
|
2232
|
+
@outcome_summary = args[:outcome_summary] if args.key?(:outcome_summary)
|
2233
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
2234
|
+
@result_storage = args[:result_storage] if args.key?(:result_storage)
|
2235
|
+
@state = args[:state] if args.key?(:state)
|
2236
|
+
@test_executions = args[:test_executions] if args.key?(:test_executions)
|
2237
|
+
@test_matrix_id = args[:test_matrix_id] if args.key?(:test_matrix_id)
|
2238
|
+
@test_specification = args[:test_specification] if args.key?(:test_specification)
|
2239
|
+
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
2240
|
+
end
|
2241
|
+
end
|
2242
|
+
|
2243
|
+
# A description of how to set up the Android device prior to running the test.
|
2244
|
+
class TestSetup
|
2245
|
+
include Google::Apis::Core::Hashable
|
2246
|
+
|
2247
|
+
# Identifies an account and how to log into it.
|
2248
|
+
# Corresponds to the JSON property `account`
|
2249
|
+
# @return [Google::Apis::TestingV1::Account]
|
2250
|
+
attr_accessor :account
|
2251
|
+
|
2252
|
+
# APKs to install in addition to those being directly tested. Currently capped
|
2253
|
+
# at 100.
|
2254
|
+
# Corresponds to the JSON property `additionalApks`
|
2255
|
+
# @return [Array<Google::Apis::TestingV1::Apk>]
|
2256
|
+
attr_accessor :additional_apks
|
2257
|
+
|
2258
|
+
# List of directories on the device to upload to GCS at the end of the test;
|
2259
|
+
# they must be absolute paths under /sdcard, /storage or /data/local/tmp. Path
|
2260
|
+
# names are restricted to characters a-z A-Z 0-9 _ - . + and / Note: The paths /
|
2261
|
+
# sdcard and /data will be made available and treated as implicit path
|
2262
|
+
# substitutions. E.g. if /sdcard on a particular device does not map to external
|
2263
|
+
# storage, the system will replace it with the external storage path prefix for
|
2264
|
+
# that device.
|
2265
|
+
# Corresponds to the JSON property `directoriesToPull`
|
2266
|
+
# @return [Array<String>]
|
2267
|
+
attr_accessor :directories_to_pull
|
2268
|
+
|
2269
|
+
# Whether to prevent all runtime permissions to be granted at app install
|
2270
|
+
# Corresponds to the JSON property `dontAutograntPermissions`
|
2271
|
+
# @return [Boolean]
|
2272
|
+
attr_accessor :dont_autogrant_permissions
|
2273
|
+
alias_method :dont_autogrant_permissions?, :dont_autogrant_permissions
|
2274
|
+
|
2275
|
+
# Environment variables to set for the test (only applicable for instrumentation
|
2276
|
+
# tests).
|
2277
|
+
# Corresponds to the JSON property `environmentVariables`
|
2278
|
+
# @return [Array<Google::Apis::TestingV1::EnvironmentVariable>]
|
2279
|
+
attr_accessor :environment_variables
|
2280
|
+
|
2281
|
+
# List of files to push to the device before starting the test.
|
2282
|
+
# Corresponds to the JSON property `filesToPush`
|
2283
|
+
# @return [Array<Google::Apis::TestingV1::DeviceFile>]
|
2284
|
+
attr_accessor :files_to_push
|
2285
|
+
|
2286
|
+
# The network traffic profile used for running the test. Available network
|
2287
|
+
# profiles can be queried by using the NETWORK_CONFIGURATION environment type
|
2288
|
+
# when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
2289
|
+
# Corresponds to the JSON property `networkProfile`
|
2290
|
+
# @return [String]
|
2291
|
+
attr_accessor :network_profile
|
2292
|
+
|
2293
|
+
# Systrace configuration for the run. If set a systrace will be taken, starting
|
2294
|
+
# on test start and lasting for the configured duration. The systrace file thus
|
2295
|
+
# obtained is put in the results bucket together with the other artifacts from
|
2296
|
+
# the run.
|
2297
|
+
# Corresponds to the JSON property `systrace`
|
2298
|
+
# @return [Google::Apis::TestingV1::SystraceSetup]
|
2299
|
+
attr_accessor :systrace
|
2300
|
+
|
2301
|
+
def initialize(**args)
|
2302
|
+
update!(**args)
|
2303
|
+
end
|
2304
|
+
|
2305
|
+
# Update properties of this object
|
2306
|
+
def update!(**args)
|
2307
|
+
@account = args[:account] if args.key?(:account)
|
2308
|
+
@additional_apks = args[:additional_apks] if args.key?(:additional_apks)
|
2309
|
+
@directories_to_pull = args[:directories_to_pull] if args.key?(:directories_to_pull)
|
2310
|
+
@dont_autogrant_permissions = args[:dont_autogrant_permissions] if args.key?(:dont_autogrant_permissions)
|
2311
|
+
@environment_variables = args[:environment_variables] if args.key?(:environment_variables)
|
2312
|
+
@files_to_push = args[:files_to_push] if args.key?(:files_to_push)
|
2313
|
+
@network_profile = args[:network_profile] if args.key?(:network_profile)
|
2314
|
+
@systrace = args[:systrace] if args.key?(:systrace)
|
2315
|
+
end
|
2316
|
+
end
|
2317
|
+
|
2318
|
+
# A description of how to run the test.
|
2319
|
+
class TestSpecification
|
2320
|
+
include Google::Apis::Core::Hashable
|
2321
|
+
|
2322
|
+
# A test of an Android application that can control an Android component
|
2323
|
+
# independently of its normal lifecycle. Android instrumentation tests run an
|
2324
|
+
# application APK and test APK inside the same process on a virtual or physical
|
2325
|
+
# AndroidDevice. They also specify a test runner class, such as com.google.
|
2326
|
+
# GoogleTestRunner, which can vary on the specific instrumentation framework
|
2327
|
+
# chosen. See for more information on types of Android tests.
|
2328
|
+
# Corresponds to the JSON property `androidInstrumentationTest`
|
2329
|
+
# @return [Google::Apis::TestingV1::AndroidInstrumentationTest]
|
2330
|
+
attr_accessor :android_instrumentation_test
|
2331
|
+
|
2332
|
+
# A test of an android application that explores the application on a virtual or
|
2333
|
+
# physical Android Device, finding culprits and crashes as it goes. Next tag: 30
|
2334
|
+
# Corresponds to the JSON property `androidRoboTest`
|
2335
|
+
# @return [Google::Apis::TestingV1::AndroidRoboTest]
|
2336
|
+
attr_accessor :android_robo_test
|
2337
|
+
|
2338
|
+
# A test of an Android Application with a Test Loop. The intent \ will be
|
2339
|
+
# implicitly added, since Games is the only user of this api, for the time being.
|
2340
|
+
# Corresponds to the JSON property `androidTestLoop`
|
2341
|
+
# @return [Google::Apis::TestingV1::AndroidTestLoop]
|
2342
|
+
attr_accessor :android_test_loop
|
2343
|
+
|
2344
|
+
# Disables performance metrics recording. May reduce test latency.
|
2345
|
+
# Corresponds to the JSON property `disablePerformanceMetrics`
|
2346
|
+
# @return [Boolean]
|
2347
|
+
attr_accessor :disable_performance_metrics
|
2348
|
+
alias_method :disable_performance_metrics?, :disable_performance_metrics
|
2349
|
+
|
2350
|
+
# Disables video recording. May reduce test latency.
|
2351
|
+
# Corresponds to the JSON property `disableVideoRecording`
|
2352
|
+
# @return [Boolean]
|
2353
|
+
attr_accessor :disable_video_recording
|
2354
|
+
alias_method :disable_video_recording?, :disable_video_recording
|
2355
|
+
|
2356
|
+
# A test of an iOS application that implements one or more game loop scenarios.
|
2357
|
+
# This test type accepts an archived application (.ipa file) and a list of
|
2358
|
+
# integer scenarios that will be executed on the app sequentially.
|
2359
|
+
# Corresponds to the JSON property `iosTestLoop`
|
2360
|
+
# @return [Google::Apis::TestingV1::IosTestLoop]
|
2361
|
+
attr_accessor :ios_test_loop
|
2362
|
+
|
2363
|
+
# A description of how to set up an iOS device prior to running the test.
|
2364
|
+
# Corresponds to the JSON property `iosTestSetup`
|
2365
|
+
# @return [Google::Apis::TestingV1::IosTestSetup]
|
2366
|
+
attr_accessor :ios_test_setup
|
2367
|
+
|
2368
|
+
# A test of an iOS application that uses the XCTest framework. Xcode supports
|
2369
|
+
# the option to "build for testing", which generates an .xctestrun file that
|
2370
|
+
# contains a test specification (arguments, test methods, etc). This test type
|
2371
|
+
# accepts a zip file containing the .xctestrun file and the corresponding
|
2372
|
+
# contents of the Build/Products directory that contains all the binaries needed
|
2373
|
+
# to run the tests.
|
2374
|
+
# Corresponds to the JSON property `iosXcTest`
|
2375
|
+
# @return [Google::Apis::TestingV1::IosXcTest]
|
2376
|
+
attr_accessor :ios_xc_test
|
2377
|
+
|
2378
|
+
# A description of how to set up the Android device prior to running the test.
|
2379
|
+
# Corresponds to the JSON property `testSetup`
|
2380
|
+
# @return [Google::Apis::TestingV1::TestSetup]
|
2381
|
+
attr_accessor :test_setup
|
2382
|
+
|
2383
|
+
# Max time a test execution is allowed to run before it is automatically
|
2384
|
+
# cancelled. The default value is 5 min.
|
2385
|
+
# Corresponds to the JSON property `testTimeout`
|
2386
|
+
# @return [String]
|
2387
|
+
attr_accessor :test_timeout
|
2388
|
+
|
2389
|
+
def initialize(**args)
|
2390
|
+
update!(**args)
|
2391
|
+
end
|
2392
|
+
|
2393
|
+
# Update properties of this object
|
2394
|
+
def update!(**args)
|
2395
|
+
@android_instrumentation_test = args[:android_instrumentation_test] if args.key?(:android_instrumentation_test)
|
2396
|
+
@android_robo_test = args[:android_robo_test] if args.key?(:android_robo_test)
|
2397
|
+
@android_test_loop = args[:android_test_loop] if args.key?(:android_test_loop)
|
2398
|
+
@disable_performance_metrics = args[:disable_performance_metrics] if args.key?(:disable_performance_metrics)
|
2399
|
+
@disable_video_recording = args[:disable_video_recording] if args.key?(:disable_video_recording)
|
2400
|
+
@ios_test_loop = args[:ios_test_loop] if args.key?(:ios_test_loop)
|
2401
|
+
@ios_test_setup = args[:ios_test_setup] if args.key?(:ios_test_setup)
|
2402
|
+
@ios_xc_test = args[:ios_xc_test] if args.key?(:ios_xc_test)
|
2403
|
+
@test_setup = args[:test_setup] if args.key?(:test_setup)
|
2404
|
+
@test_timeout = args[:test_timeout] if args.key?(:test_timeout)
|
2405
|
+
end
|
2406
|
+
end
|
2407
|
+
|
2408
|
+
# Test targets for a shard.
|
2409
|
+
class TestTargetsForShard
|
2410
|
+
include Google::Apis::Core::Hashable
|
2411
|
+
|
2412
|
+
# Group of packages, classes, and/or test methods to be run for each shard. The
|
2413
|
+
# targets need to be specified in AndroidJUnitRunner argument format. For
|
2414
|
+
# example, "package com.my.packages" "class com.my.package.MyClass". The number
|
2415
|
+
# of shard_test_targets must be greater than 0.
|
2416
|
+
# Corresponds to the JSON property `testTargets`
|
2417
|
+
# @return [Array<String>]
|
2418
|
+
attr_accessor :test_targets
|
2419
|
+
|
2420
|
+
def initialize(**args)
|
2421
|
+
update!(**args)
|
2422
|
+
end
|
2423
|
+
|
2424
|
+
# Update properties of this object
|
2425
|
+
def update!(**args)
|
2426
|
+
@test_targets = args[:test_targets] if args.key?(:test_targets)
|
2427
|
+
end
|
2428
|
+
end
|
2429
|
+
|
2430
|
+
# Represents a tool results execution resource. This has the results of a
|
2431
|
+
# TestMatrix.
|
2432
|
+
class ToolResultsExecution
|
2433
|
+
include Google::Apis::Core::Hashable
|
2434
|
+
|
2435
|
+
# Output only. A tool results execution ID.
|
2436
|
+
# Corresponds to the JSON property `executionId`
|
2437
|
+
# @return [String]
|
2438
|
+
attr_accessor :execution_id
|
2439
|
+
|
2440
|
+
# Output only. A tool results history ID.
|
2441
|
+
# Corresponds to the JSON property `historyId`
|
2442
|
+
# @return [String]
|
2443
|
+
attr_accessor :history_id
|
2444
|
+
|
2445
|
+
# Output only. The cloud project that owns the tool results execution.
|
2446
|
+
# Corresponds to the JSON property `projectId`
|
2447
|
+
# @return [String]
|
2448
|
+
attr_accessor :project_id
|
2449
|
+
|
2450
|
+
def initialize(**args)
|
2451
|
+
update!(**args)
|
2452
|
+
end
|
2453
|
+
|
2454
|
+
# Update properties of this object
|
2455
|
+
def update!(**args)
|
2456
|
+
@execution_id = args[:execution_id] if args.key?(:execution_id)
|
2457
|
+
@history_id = args[:history_id] if args.key?(:history_id)
|
2458
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
2459
|
+
end
|
2460
|
+
end
|
2461
|
+
|
2462
|
+
# Represents a tool results history resource.
|
2463
|
+
class ToolResultsHistory
|
2464
|
+
include Google::Apis::Core::Hashable
|
2465
|
+
|
2466
|
+
# Required. A tool results history ID.
|
2467
|
+
# Corresponds to the JSON property `historyId`
|
2468
|
+
# @return [String]
|
2469
|
+
attr_accessor :history_id
|
2470
|
+
|
2471
|
+
# Required. The cloud project that owns the tool results history.
|
2472
|
+
# Corresponds to the JSON property `projectId`
|
2473
|
+
# @return [String]
|
2474
|
+
attr_accessor :project_id
|
2475
|
+
|
2476
|
+
def initialize(**args)
|
2477
|
+
update!(**args)
|
2478
|
+
end
|
2479
|
+
|
2480
|
+
# Update properties of this object
|
2481
|
+
def update!(**args)
|
2482
|
+
@history_id = args[:history_id] if args.key?(:history_id)
|
2483
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
2484
|
+
end
|
2485
|
+
end
|
2486
|
+
|
2487
|
+
# Represents a tool results step resource. This has the results of a
|
2488
|
+
# TestExecution.
|
2489
|
+
class ToolResultsStep
|
2490
|
+
include Google::Apis::Core::Hashable
|
2491
|
+
|
2492
|
+
# Output only. A tool results execution ID.
|
2493
|
+
# Corresponds to the JSON property `executionId`
|
2494
|
+
# @return [String]
|
2495
|
+
attr_accessor :execution_id
|
2496
|
+
|
2497
|
+
# Output only. A tool results history ID.
|
2498
|
+
# Corresponds to the JSON property `historyId`
|
2499
|
+
# @return [String]
|
2500
|
+
attr_accessor :history_id
|
2501
|
+
|
2502
|
+
# Output only. The cloud project that owns the tool results step.
|
2503
|
+
# Corresponds to the JSON property `projectId`
|
2504
|
+
# @return [String]
|
2505
|
+
attr_accessor :project_id
|
2506
|
+
|
2507
|
+
# Output only. A tool results step ID.
|
2508
|
+
# Corresponds to the JSON property `stepId`
|
2509
|
+
# @return [String]
|
2510
|
+
attr_accessor :step_id
|
2511
|
+
|
2512
|
+
def initialize(**args)
|
2513
|
+
update!(**args)
|
2514
|
+
end
|
2515
|
+
|
2516
|
+
# Update properties of this object
|
2517
|
+
def update!(**args)
|
2518
|
+
@execution_id = args[:execution_id] if args.key?(:execution_id)
|
2519
|
+
@history_id = args[:history_id] if args.key?(:history_id)
|
2520
|
+
@project_id = args[:project_id] if args.key?(:project_id)
|
2521
|
+
@step_id = args[:step_id] if args.key?(:step_id)
|
2522
|
+
end
|
2523
|
+
end
|
2524
|
+
|
2525
|
+
# Network emulation parameters.
|
2526
|
+
class TrafficRule
|
2527
|
+
include Google::Apis::Core::Hashable
|
2528
|
+
|
2529
|
+
# Bandwidth in kbits/second.
|
2530
|
+
# Corresponds to the JSON property `bandwidth`
|
2531
|
+
# @return [Float]
|
2532
|
+
attr_accessor :bandwidth
|
2533
|
+
|
2534
|
+
# Burst size in kbits.
|
2535
|
+
# Corresponds to the JSON property `burst`
|
2536
|
+
# @return [Float]
|
2537
|
+
attr_accessor :burst
|
2538
|
+
|
2539
|
+
# Packet delay, must be >= 0.
|
2540
|
+
# Corresponds to the JSON property `delay`
|
2541
|
+
# @return [String]
|
2542
|
+
attr_accessor :delay
|
2543
|
+
|
2544
|
+
# Packet duplication ratio (0.0 - 1.0).
|
2545
|
+
# Corresponds to the JSON property `packetDuplicationRatio`
|
2546
|
+
# @return [Float]
|
2547
|
+
attr_accessor :packet_duplication_ratio
|
2548
|
+
|
2549
|
+
# Packet loss ratio (0.0 - 1.0).
|
2550
|
+
# Corresponds to the JSON property `packetLossRatio`
|
2551
|
+
# @return [Float]
|
2552
|
+
attr_accessor :packet_loss_ratio
|
2553
|
+
|
2554
|
+
def initialize(**args)
|
2555
|
+
update!(**args)
|
2556
|
+
end
|
2557
|
+
|
2558
|
+
# Update properties of this object
|
2559
|
+
def update!(**args)
|
2560
|
+
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
2561
|
+
@burst = args[:burst] if args.key?(:burst)
|
2562
|
+
@delay = args[:delay] if args.key?(:delay)
|
2563
|
+
@packet_duplication_ratio = args[:packet_duplication_ratio] if args.key?(:packet_duplication_ratio)
|
2564
|
+
@packet_loss_ratio = args[:packet_loss_ratio] if args.key?(:packet_loss_ratio)
|
2565
|
+
end
|
2566
|
+
end
|
2567
|
+
|
2568
|
+
# Uniformly shards test cases given a total number of shards. For
|
2569
|
+
# Instrumentation test, it will be translated to "-e numShard" "-e shardIndex"
|
2570
|
+
# AndroidJUnitRunner arguments. With uniform sharding enabled, specifying these
|
2571
|
+
# sharding arguments via environment_variables is invalid.
|
2572
|
+
class UniformSharding
|
2573
|
+
include Google::Apis::Core::Hashable
|
2574
|
+
|
2575
|
+
# Required. Total number of shards. When any physical devices are selected, the
|
2576
|
+
# number must be >= 1 and <= 50. When no physical devices are selected, the
|
2577
|
+
# number must be >= 1 and <= 500.
|
2578
|
+
# Corresponds to the JSON property `numShards`
|
2579
|
+
# @return [Fixnum]
|
2580
|
+
attr_accessor :num_shards
|
2581
|
+
|
2582
|
+
def initialize(**args)
|
2583
|
+
update!(**args)
|
2584
|
+
end
|
2585
|
+
|
2586
|
+
# Update properties of this object
|
2587
|
+
def update!(**args)
|
2588
|
+
@num_shards = args[:num_shards] if args.key?(:num_shards)
|
2589
|
+
end
|
2590
|
+
end
|
2591
|
+
|
2592
|
+
# An Xcode version that an iOS version is compatible with.
|
2593
|
+
class XcodeVersion
|
2594
|
+
include Google::Apis::Core::Hashable
|
2595
|
+
|
2596
|
+
# Tags for this Xcode version. Example: "default".
|
2597
|
+
# Corresponds to the JSON property `tags`
|
2598
|
+
# @return [Array<String>]
|
2599
|
+
attr_accessor :tags
|
2600
|
+
|
2601
|
+
# The id for this version. Example: "9.2".
|
2602
|
+
# Corresponds to the JSON property `version`
|
2603
|
+
# @return [String]
|
2604
|
+
attr_accessor :version
|
2605
|
+
|
2606
|
+
def initialize(**args)
|
2607
|
+
update!(**args)
|
2608
|
+
end
|
2609
|
+
|
2610
|
+
# Update properties of this object
|
2611
|
+
def update!(**args)
|
2612
|
+
@tags = args[:tags] if args.key?(:tags)
|
2613
|
+
@version = args[:version] if args.key?(:version)
|
2614
|
+
end
|
2615
|
+
end
|
2616
|
+
end
|
2617
|
+
end
|
2618
|
+
end
|