2017-09-21 00:37:23 +00:00
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
require 'date'
|
|
|
|
require 'google/apis/core/base_service'
|
|
|
|
require 'google/apis/core/json_representation'
|
|
|
|
require 'google/apis/core/hashable'
|
|
|
|
require 'google/apis/errors'
|
|
|
|
|
|
|
|
module Google
|
|
|
|
module Apis
|
|
|
|
module TestingV1
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Identifies an account and how to log into it.
|
2017-09-21 00:37:23 +00:00
|
|
|
class Account
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Enables automatic Google account login. If set, the service automatically
|
|
|
|
# generates a Google test account and adds it to the device, before executing
|
|
|
|
# the test. Note that test accounts might be reused. Many applications show
|
|
|
|
# their full set of functionalities when an account is present on the device.
|
|
|
|
# Logging into the device with these generated accounts allows testing more
|
|
|
|
# functionalities.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `googleAuto`
|
|
|
|
# @return [Google::Apis::TestingV1::GoogleAuto]
|
|
|
|
attr_accessor :google_auto
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@google_auto = args[:google_auto] if args.key?(:google_auto)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A single Android device.
|
|
|
|
class AndroidDevice
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The id of the Android device to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidModelId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :android_model_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The id of the Android OS version to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidVersionId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :android_version_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The locale the test device used for testing. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `locale`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :locale
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. How the device is oriented during the test. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `orientation`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :orientation
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_model_id = args[:android_model_id] if args.key?(:android_model_id)
|
|
|
|
@android_version_id = args[:android_version_id] if args.key?(:android_version_id)
|
|
|
|
@locale = args[:locale] if args.key?(:locale)
|
|
|
|
@orientation = args[:orientation] if args.key?(:orientation)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The currently supported Android devices.
|
|
|
|
class AndroidDeviceCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The set of supported Android device models.
|
|
|
|
# Corresponds to the JSON property `models`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::AndroidModel>]
|
|
|
|
attr_accessor :models
|
|
|
|
|
2018-08-22 21:14:52 +00:00
|
|
|
# Android configuration that can be selected at the time a test is run.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `runtimeConfiguration`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidRuntimeConfiguration]
|
|
|
|
attr_accessor :runtime_configuration
|
|
|
|
|
|
|
|
# The set of supported Android OS versions.
|
|
|
|
# Corresponds to the JSON property `versions`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::AndroidVersion>]
|
|
|
|
attr_accessor :versions
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@models = args[:models] if args.key?(:models)
|
|
|
|
@runtime_configuration = args[:runtime_configuration] if args.key?(:runtime_configuration)
|
|
|
|
@versions = args[:versions] if args.key?(:versions)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A list of Android device configurations in which the test is to be executed.
|
|
|
|
class AndroidDeviceList
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. A list of Android devices.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidDevices`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::AndroidDevice>]
|
|
|
|
attr_accessor :android_devices
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_devices = args[:android_devices] if args.key?(:android_devices)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A test of an Android application that can control an Android component
|
2020-08-07 00:38:13 +00:00
|
|
|
# independently of its normal lifecycle. Android instrumentation tests run an
|
|
|
|
# application APK and test APK inside the same process on a virtual or physical
|
|
|
|
# AndroidDevice. They also specify a test runner class, such as com.google.
|
|
|
|
# GoogleTestRunner, which can vary on the specific instrumentation framework
|
|
|
|
# chosen. See for more information on types of Android tests.
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidInstrumentationTest
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `appApk`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :app_apk
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
|
|
|
# module directory, zero or more dynamic feature module directories. See https://
|
|
|
|
# developer.android.com/guide/app-bundle/build for guidance on building App
|
|
|
|
# Bundles.
|
2018-11-30 00:36:50 +00:00
|
|
|
# Corresponds to the JSON property `appBundle`
|
|
|
|
# @return [Google::Apis::TestingV1::AppBundle]
|
|
|
|
attr_accessor :app_bundle
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The java package for the application under test. The default value is
|
|
|
|
# determined by examining the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `appPackageId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_package_id
|
|
|
|
|
|
|
|
# The option of whether running each test within its own invocation of
|
2020-08-07 00:38:13 +00:00
|
|
|
# instrumentation with Android Test Orchestrator or not. ** Orchestrator is only
|
|
|
|
# compatible with AndroidJUnitRunner version 1.0 or higher! ** Orchestrator
|
|
|
|
# offers the following benefits: - No shared state - Crashes are isolated - Logs
|
|
|
|
# are scoped per test See for more information about Android Test Orchestrator.
|
2018-12-13 00:36:30 +00:00
|
|
|
# If not set, the test will be run without the orchestrator.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `orchestratorOption`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :orchestrator_option
|
|
|
|
|
2019-10-23 00:36:47 +00:00
|
|
|
# Options for enabling sharding.
|
|
|
|
# Corresponds to the JSON property `shardingOption`
|
|
|
|
# @return [Google::Apis::TestingV1::ShardingOption]
|
|
|
|
attr_accessor :sharding_option
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `testApk`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :test_apk
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The java package for the test to be executed. The default value is determined
|
|
|
|
# by examining the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testPackageId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :test_package_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The InstrumentationTestRunner class. The default value is determined by
|
|
|
|
# examining the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testRunnerClass`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :test_runner_class
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Each target must be fully qualified with the package name or class name, in
|
|
|
|
# one of these formats: - "package package_name" - "class package_name.
|
|
|
|
# class_name" - "class package_name.class_name#method_name" If empty, all
|
|
|
|
# targets in the module will be run.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testTargets`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :test_targets
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
2018-11-30 00:36:50 +00:00
|
|
|
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
2017-09-21 00:37:23 +00:00
|
|
|
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
|
|
|
@orchestrator_option = args[:orchestrator_option] if args.key?(:orchestrator_option)
|
2019-10-23 00:36:47 +00:00
|
|
|
@sharding_option = args[:sharding_option] if args.key?(:sharding_option)
|
2017-09-21 00:37:23 +00:00
|
|
|
@test_apk = args[:test_apk] if args.key?(:test_apk)
|
|
|
|
@test_package_id = args[:test_package_id] if args.key?(:test_package_id)
|
|
|
|
@test_runner_class = args[:test_runner_class] if args.key?(:test_runner_class)
|
|
|
|
@test_targets = args[:test_targets] if args.key?(:test_targets)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A set of Android device configuration permutations is defined by the the cross-
|
|
|
|
# product of the given axes. Internally, the given AndroidMatrix will be
|
|
|
|
# expanded into a set of AndroidDevices. Only supported permutations will be
|
|
|
|
# instantiated. Invalid permutations (e.g., incompatible models/versions) are
|
|
|
|
# ignored.
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidMatrix
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The ids of the set of Android device to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidModelIds`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :android_model_ids
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The ids of the set of Android OS version to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidVersionIds`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :android_version_ids
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The set of locales the test device will enable for testing. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `locales`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :locales
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The set of orientations to test with. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `orientations`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :orientations
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_model_ids = args[:android_model_ids] if args.key?(:android_model_ids)
|
|
|
|
@android_version_ids = args[:android_version_ids] if args.key?(:android_version_ids)
|
|
|
|
@locales = args[:locales] if args.key?(:locales)
|
|
|
|
@orientations = args[:orientations] if args.key?(:orientations)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A description of an Android device tests may be run on.
|
|
|
|
class AndroidModel
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The company that this device is branded with. Example: "Google", "Samsung".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `brand`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :brand
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The name of the industrial design. This corresponds to android.os.Build.DEVICE.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `codename`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :codename
|
|
|
|
|
|
|
|
# Whether this device is virtual or physical.
|
|
|
|
# Corresponds to the JSON property `form`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :form
|
|
|
|
|
2018-09-18 00:36:21 +00:00
|
|
|
# Whether this device is a phone, tablet, wearable, etc.
|
2018-08-24 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `formFactor`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :form_factor
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The unique opaque id for this model. Use this for invoking the
|
|
|
|
# TestExecutionService.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# True if and only if tests with this model are recorded by stitching together
|
|
|
|
# screenshots. See use_low_spec_video_recording in device config.
|
2018-11-06 00:31:47 +00:00
|
|
|
# Corresponds to the JSON property `lowFpsVideoRecording`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :low_fps_video_recording
|
|
|
|
alias_method :low_fps_video_recording?, :low_fps_video_recording
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# The manufacturer of this device.
|
|
|
|
# Corresponds to the JSON property `manufacturer`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :manufacturer
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The human-readable marketing name for this device model. Examples: "Nexus 5", "
|
|
|
|
# Galaxy S5".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Screen density in DPI. This corresponds to ro.sf.lcd_density
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `screenDensity`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_density
|
|
|
|
|
|
|
|
# Screen size in the horizontal (X) dimension measured in pixels.
|
|
|
|
# Corresponds to the JSON property `screenX`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_x
|
|
|
|
|
|
|
|
# Screen size in the vertical (Y) dimension measured in pixels.
|
|
|
|
# Corresponds to the JSON property `screenY`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_y
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The list of supported ABIs for this device. This corresponds to either android.
|
|
|
|
# os.Build.SUPPORTED_ABIS (for API level 21 and above) or android.os.Build.
|
|
|
|
# CPU_ABI/CPU_ABI2. The most preferred ABI is the first element in the list.
|
|
|
|
# Elements are optionally prefixed by "version_id:" (where version_id is the id
|
|
|
|
# of an AndroidVersion), denoting an ABI that is supported only on a particular
|
|
|
|
# version.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `supportedAbis`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :supported_abis
|
|
|
|
|
|
|
|
# The set of Android versions this device supports.
|
|
|
|
# Corresponds to the JSON property `supportedVersionIds`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :supported_version_ids
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# URL of a thumbnail image (photo) of the device. e.g. https://lh3.
|
|
|
|
# googleusercontent.com/90WcauuJiCYABEl8U0lcZeuS5STUbf2yW...
|
2020-03-05 00:37:41 +00:00
|
|
|
# Corresponds to the JSON property `thumbnailUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :thumbnail_url
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@brand = args[:brand] if args.key?(:brand)
|
|
|
|
@codename = args[:codename] if args.key?(:codename)
|
|
|
|
@form = args[:form] if args.key?(:form)
|
2018-08-24 00:36:27 +00:00
|
|
|
@form_factor = args[:form_factor] if args.key?(:form_factor)
|
2017-09-21 00:37:23 +00:00
|
|
|
@id = args[:id] if args.key?(:id)
|
2018-11-06 00:31:47 +00:00
|
|
|
@low_fps_video_recording = args[:low_fps_video_recording] if args.key?(:low_fps_video_recording)
|
2017-09-21 00:37:23 +00:00
|
|
|
@manufacturer = args[:manufacturer] if args.key?(:manufacturer)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@screen_density = args[:screen_density] if args.key?(:screen_density)
|
|
|
|
@screen_x = args[:screen_x] if args.key?(:screen_x)
|
|
|
|
@screen_y = args[:screen_y] if args.key?(:screen_y)
|
|
|
|
@supported_abis = args[:supported_abis] if args.key?(:supported_abis)
|
|
|
|
@supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
2020-03-05 00:37:41 +00:00
|
|
|
@thumbnail_url = args[:thumbnail_url] if args.key?(:thumbnail_url)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an android application that explores the application on a virtual or
|
2020-10-21 16:19:50 +00:00
|
|
|
# physical Android Device, finding culprits and crashes as it goes. Next tag: 30
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidRoboTest
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `appApk`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :app_apk
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
|
|
|
# module directory, zero or more dynamic feature module directories. See https://
|
|
|
|
# developer.android.com/guide/app-bundle/build for guidance on building App
|
|
|
|
# Bundles.
|
2018-11-30 00:36:50 +00:00
|
|
|
# Corresponds to the JSON property `appBundle`
|
|
|
|
# @return [Google::Apis::TestingV1::AppBundle]
|
|
|
|
attr_accessor :app_bundle
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# The initial activity that should be used to start the app.
|
|
|
|
# Corresponds to the JSON property `appInitialActivity`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_initial_activity
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The java package for the application under test. The default value is
|
|
|
|
# determined by examining the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `appPackageId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_package_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The max depth of the traversal stack Robo can explore. Needs to be at least 2
|
|
|
|
# to make Robo explore the app beyond the first activity. Default is 50.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `maxDepth`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :max_depth
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The max number of steps Robo can execute. Default is no limit.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `maxSteps`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :max_steps
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A set of directives Robo should apply during the crawl. This allows users to
|
|
|
|
# customize the crawl. For example, the username and password for a test account
|
|
|
|
# can be provided.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `roboDirectives`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::RoboDirective>]
|
|
|
|
attr_accessor :robo_directives
|
|
|
|
|
2018-03-08 00:36:04 +00:00
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `roboScript`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :robo_script
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The intents used to launch the app for the crawl. If none are provided, then
|
|
|
|
# the main launcher activity is launched. If some are provided, then only those
|
|
|
|
# provided are launched (the main launcher activity must be provided explicitly).
|
2017-12-15 00:36:11 +00:00
|
|
|
# Corresponds to the JSON property `startingIntents`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::RoboStartingIntent>]
|
|
|
|
attr_accessor :starting_intents
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
2018-11-30 00:36:50 +00:00
|
|
|
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
2017-09-21 00:37:23 +00:00
|
|
|
@app_initial_activity = args[:app_initial_activity] if args.key?(:app_initial_activity)
|
|
|
|
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
|
|
|
@max_depth = args[:max_depth] if args.key?(:max_depth)
|
|
|
|
@max_steps = args[:max_steps] if args.key?(:max_steps)
|
|
|
|
@robo_directives = args[:robo_directives] if args.key?(:robo_directives)
|
2018-03-08 00:36:04 +00:00
|
|
|
@robo_script = args[:robo_script] if args.key?(:robo_script)
|
2017-12-15 00:36:11 +00:00
|
|
|
@starting_intents = args[:starting_intents] if args.key?(:starting_intents)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-08-22 21:14:52 +00:00
|
|
|
# Android configuration that can be selected at the time a test is run.
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidRuntimeConfiguration
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The set of available locales.
|
|
|
|
# Corresponds to the JSON property `locales`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::Locale>]
|
|
|
|
attr_accessor :locales
|
|
|
|
|
|
|
|
# The set of available orientations.
|
|
|
|
# Corresponds to the JSON property `orientations`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::Orientation>]
|
|
|
|
attr_accessor :orientations
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@locales = args[:locales] if args.key?(:locales)
|
|
|
|
@orientations = args[:orientations] if args.key?(:orientations)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an Android Application with a Test Loop. The intent \ will be
|
|
|
|
# implicitly added, since Games is the only user of this api, for the time being.
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidTestLoop
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `appApk`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :app_apk
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
|
|
|
# module directory, zero or more dynamic feature module directories. See https://
|
|
|
|
# developer.android.com/guide/app-bundle/build for guidance on building App
|
|
|
|
# Bundles.
|
2018-11-30 00:36:50 +00:00
|
|
|
# Corresponds to the JSON property `appBundle`
|
|
|
|
# @return [Google::Apis::TestingV1::AppBundle]
|
|
|
|
attr_accessor :app_bundle
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The java package for the application under test. The default is determined by
|
|
|
|
# examining the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `appPackageId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_package_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The list of scenario labels that should be run during the test. The scenario
|
|
|
|
# labels should map to labels defined in the application's manifest. For example,
|
|
|
|
# player_experience and com.google.test.loops.player_experience add all of the
|
|
|
|
# loops labeled in the manifest with the com.google.test.loops.player_experience
|
|
|
|
# name to the execution. Scenarios can also be specified in the scenarios field.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `scenarioLabels`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :scenario_labels
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The list of scenarios that should be run during the test. The default is all
|
|
|
|
# test loops, derived from the application's manifest.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `scenarios`
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
attr_accessor :scenarios
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@app_apk = args[:app_apk] if args.key?(:app_apk)
|
2018-11-30 00:36:50 +00:00
|
|
|
@app_bundle = args[:app_bundle] if args.key?(:app_bundle)
|
2017-09-21 00:37:23 +00:00
|
|
|
@app_package_id = args[:app_package_id] if args.key?(:app_package_id)
|
|
|
|
@scenario_labels = args[:scenario_labels] if args.key?(:scenario_labels)
|
|
|
|
@scenarios = args[:scenarios] if args.key?(:scenarios)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# A version of the Android OS.
|
2017-09-21 00:37:23 +00:00
|
|
|
class AndroidVersion
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The API level for this Android version. Examples: 18, 19.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `apiLevel`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :api_level
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The code name for this Android version. Examples: "JellyBean", "KitKat".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `codeName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :code_name
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Data about the relative number of devices running a given configuration of the
|
|
|
|
# Android platform.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `distribution`
|
|
|
|
# @return [Google::Apis::TestingV1::Distribution]
|
|
|
|
attr_accessor :distribution
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An opaque id for this Android version. Use this id to invoke the
|
|
|
|
# TestExecutionService.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Represents a whole or partial calendar date, such as a birthday. The time of
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
|
|
|
# google.protobuf.Timestamp`.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `releaseDate`
|
|
|
|
# @return [Google::Apis::TestingV1::Date]
|
|
|
|
attr_accessor :release_date
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A string representing this version of the Android OS. Examples: "4.3", "4.4".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `versionString`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :version_string
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@api_level = args[:api_level] if args.key?(:api_level)
|
|
|
|
@code_name = args[:code_name] if args.key?(:code_name)
|
|
|
|
@distribution = args[:distribution] if args.key?(:distribution)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@release_date = args[:release_date] if args.key?(:release_date)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
@version_string = args[:version_string] if args.key?(:version_string)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-03-08 00:36:04 +00:00
|
|
|
# An Android package file to install.
|
|
|
|
class Apk
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `location`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :location
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The java package for the APK to be installed. Value is determined by examining
|
|
|
|
# the application's manifest.
|
2018-03-08 00:36:04 +00:00
|
|
|
# Corresponds to the JSON property `packageName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :package_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@location = args[:location] if args.key?(:location)
|
|
|
|
@package_name = args[:package_name] if args.key?(:package_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-02-09 00:35:28 +00:00
|
|
|
# Android application details based on application manifest and apk archive
|
2018-12-13 00:36:30 +00:00
|
|
|
# contents.
|
2018-02-09 00:35:28 +00:00
|
|
|
class ApkDetail
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android app manifest. See http://developer.android.com/guide/topics/
|
|
|
|
# manifest/manifest-intro.html
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `apkManifest`
|
|
|
|
# @return [Google::Apis::TestingV1::ApkManifest]
|
|
|
|
attr_accessor :apk_manifest
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@apk_manifest = args[:apk_manifest] if args.key?(:apk_manifest)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android app manifest. See http://developer.android.com/guide/topics/
|
|
|
|
# manifest/manifest-intro.html
|
2018-02-09 00:35:28 +00:00
|
|
|
class ApkManifest
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# User-readable name for the application.
|
|
|
|
# Corresponds to the JSON property `applicationLabel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :application_label
|
|
|
|
|
|
|
|
#
|
|
|
|
# Corresponds to the JSON property `intentFilters`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IntentFilter>]
|
|
|
|
attr_accessor :intent_filters
|
|
|
|
|
|
|
|
# Maximum API level on which the application is designed to run.
|
|
|
|
# Corresponds to the JSON property `maxSdkVersion`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :max_sdk_version
|
|
|
|
|
|
|
|
# Minimum API level required for the application to run.
|
|
|
|
# Corresponds to the JSON property `minSdkVersion`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :min_sdk_version
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Full Java-style package name for this application, e.g. "com.example.foo".
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `packageName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :package_name
|
|
|
|
|
2019-04-27 00:37:23 +00:00
|
|
|
# Specifies the API Level on which the application is designed to run.
|
|
|
|
# Corresponds to the JSON property `targetSdkVersion`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :target_sdk_version
|
|
|
|
|
2018-02-09 00:35:28 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@application_label = args[:application_label] if args.key?(:application_label)
|
|
|
|
@intent_filters = args[:intent_filters] if args.key?(:intent_filters)
|
|
|
|
@max_sdk_version = args[:max_sdk_version] if args.key?(:max_sdk_version)
|
|
|
|
@min_sdk_version = args[:min_sdk_version] if args.key?(:min_sdk_version)
|
|
|
|
@package_name = args[:package_name] if args.key?(:package_name)
|
2019-04-27 00:37:23 +00:00
|
|
|
@target_sdk_version = args[:target_sdk_version] if args.key?(:target_sdk_version)
|
2018-02-09 00:35:28 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An Android App Bundle file format, containing a BundleConfig.pb file, a base
|
|
|
|
# module directory, zero or more dynamic feature module directories. See https://
|
|
|
|
# developer.android.com/guide/app-bundle/build for guidance on building App
|
|
|
|
# Bundles.
|
2018-11-30 00:36:50 +00:00
|
|
|
class AppBundle
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `bundleLocation`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :bundle_location
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@bundle_location = args[:bundle_location] if args.key?(:bundle_location)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# Response containing the current state of the specified test matrix.
|
|
|
|
class CancelTestMatrixResponse
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The current rolled-up state of the test matrix. If this state is already final,
|
|
|
|
# then the cancelation request will have no effect.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testState`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :test_state
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@test_state = args[:test_state] if args.key?(:test_state)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Information about the client which invoked the test.
|
|
|
|
class ClientInfo
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The list of detailed information about client.
|
|
|
|
# Corresponds to the JSON property `clientInfoDetails`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::ClientInfoDetail>]
|
|
|
|
attr_accessor :client_info_details
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. Client name, such as gcloud.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@client_info_details = args[:client_info_details] if args.key?(:client_info_details)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Key-value pair of detailed information about the client which invoked the test.
|
|
|
|
# Examples: `'Version', '1.0'`, `'Release Track', 'BETA'`.
|
2017-09-21 00:37:23 +00:00
|
|
|
class ClientInfoDetail
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. The key of detailed client information.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `key`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :key
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. The value of detailed client information.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `value`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :value
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@key = args[:key] if args.key?(:key)
|
|
|
|
@value = args[:value] if args.key?(:value)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Represents a whole or partial calendar date, such as a birthday. The time of
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
|
|
|
# google.protobuf.Timestamp`.
|
2017-09-21 00:37:23 +00:00
|
|
|
class Date
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
|
|
|
|
# specify a year by itself or a year and month where the day isn't significant.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `day`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :day
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
|
2020-08-07 00:38:13 +00:00
|
|
|
# and day.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `month`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :month
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
|
|
|
|
# year.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `year`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :year
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@day = args[:day] if args.key?(:day)
|
|
|
|
@month = args[:month] if args.key?(:month)
|
|
|
|
@year = args[:year] if args.key?(:year)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A single device file description.
|
|
|
|
class DeviceFile
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# An opaque binary blob file to install on the device before the test starts.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `obbFile`
|
|
|
|
# @return [Google::Apis::TestingV1::ObbFile]
|
|
|
|
attr_accessor :obb_file
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# A file or directory to install on the device before the test starts.
|
2018-03-08 00:36:04 +00:00
|
|
|
# Corresponds to the JSON property `regularFile`
|
|
|
|
# @return [Google::Apis::TestingV1::RegularFile]
|
|
|
|
attr_accessor :regular_file
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@obb_file = args[:obb_file] if args.key?(:obb_file)
|
2018-03-08 00:36:04 +00:00
|
|
|
@regular_file = args[:regular_file] if args.key?(:regular_file)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-07-22 00:38:03 +00:00
|
|
|
# A single device IP block
|
|
|
|
class DeviceIpBlock
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# Represents a whole or partial calendar date, such as a birthday. The time of
|
|
|
|
# day and time zone are either specified elsewhere or are insignificant. The
|
|
|
|
# date is relative to the Gregorian Calendar. This can represent one of the
|
|
|
|
# following: * A full date, with non-zero year, month, and day values * A month
|
|
|
|
# and day value, with a zero year, such as an anniversary * A year on its own,
|
|
|
|
# with zero month and day values * A year and month value, with a zero day, such
|
|
|
|
# as a credit card expiration date Related types are google.type.TimeOfDay and `
|
|
|
|
# google.protobuf.Timestamp`.
|
2020-07-22 00:38:03 +00:00
|
|
|
# Corresponds to the JSON property `addedDate`
|
|
|
|
# @return [Google::Apis::TestingV1::Date]
|
|
|
|
attr_accessor :added_date
|
|
|
|
|
|
|
|
# An IP address block in CIDR notation eg: 34.68.194.64/29
|
|
|
|
# Corresponds to the JSON property `block`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :block
|
|
|
|
|
|
|
|
# Whether this block is used by physical or virtual devices
|
|
|
|
# Corresponds to the JSON property `form`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :form
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@added_date = args[:added_date] if args.key?(:added_date)
|
|
|
|
@block = args[:block] if args.key?(:block)
|
|
|
|
@form = args[:form] if args.key?(:form)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# List of IP blocks used by the Firebase Test Lab
|
|
|
|
class DeviceIpBlockCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The device IP blocks used by Firebase Test Lab
|
|
|
|
# Corresponds to the JSON property `ipBlocks`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::DeviceIpBlock>]
|
|
|
|
attr_accessor :ip_blocks
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@ip_blocks = args[:ip_blocks] if args.key?(:ip_blocks)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Data about the relative number of devices running a given configuration of the
|
|
|
|
# Android platform.
|
2017-09-21 00:37:23 +00:00
|
|
|
class Distribution
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The estimated fraction (0-1) of the total market with this
|
|
|
|
# configuration.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `marketShare`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :market_share
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The time this distribution was measured.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `measurementTime`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :measurement_time
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@market_share = args[:market_share] if args.key?(:market_share)
|
|
|
|
@measurement_time = args[:measurement_time] if args.key?(:measurement_time)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The environment in which the test is run.
|
|
|
|
class Environment
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A single Android device.
|
|
|
|
# Corresponds to the JSON property `androidDevice`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidDevice]
|
|
|
|
attr_accessor :android_device
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A single iOS device.
|
|
|
|
# Corresponds to the JSON property `iosDevice`
|
|
|
|
# @return [Google::Apis::TestingV1::IosDevice]
|
|
|
|
attr_accessor :ios_device
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_device = args[:android_device] if args.key?(:android_device)
|
2018-09-12 00:36:25 +00:00
|
|
|
@ios_device = args[:ios_device] if args.key?(:ios_device)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The matrix of environments in which the test is to be executed.
|
|
|
|
class EnvironmentMatrix
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A list of Android device configurations in which the test is to be executed.
|
|
|
|
# Corresponds to the JSON property `androidDeviceList`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidDeviceList]
|
|
|
|
attr_accessor :android_device_list
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A set of Android device configuration permutations is defined by the the cross-
|
|
|
|
# product of the given axes. Internally, the given AndroidMatrix will be
|
|
|
|
# expanded into a set of AndroidDevices. Only supported permutations will be
|
|
|
|
# instantiated. Invalid permutations (e.g., incompatible models/versions) are
|
|
|
|
# ignored.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidMatrix`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidMatrix]
|
|
|
|
attr_accessor :android_matrix
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A list of iOS device configurations in which the test is to be executed.
|
|
|
|
# Corresponds to the JSON property `iosDeviceList`
|
|
|
|
# @return [Google::Apis::TestingV1::IosDeviceList]
|
|
|
|
attr_accessor :ios_device_list
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_device_list = args[:android_device_list] if args.key?(:android_device_list)
|
|
|
|
@android_matrix = args[:android_matrix] if args.key?(:android_matrix)
|
2018-09-12 00:36:25 +00:00
|
|
|
@ios_device_list = args[:ios_device_list] if args.key?(:ios_device_list)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# A key-value pair passed as an environment variable to the test.
|
2017-09-21 00:37:23 +00:00
|
|
|
class EnvironmentVariable
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Key for the environment variable.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `key`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :key
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Value for the environment variable.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `value`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :value
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@key = args[:key] if args.key?(:key)
|
|
|
|
@value = args[:value] if args.key?(:value)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
class FileReference
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A path to a file in Google Cloud Storage. Example: gs://build-app-
|
|
|
|
# 1414623860166/app%40debug-unaligned.apk These paths are expected to be url
|
|
|
|
# encoded (percent encoding)
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `gcsPath`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :gcs_path
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@gcs_path = args[:gcs_path] if args.key?(:gcs_path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-02-09 00:35:28 +00:00
|
|
|
# Response containing the details of the specified Android application APK.
|
|
|
|
class GetApkDetailsResponse
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Android application details based on application manifest and apk archive
|
2018-12-13 00:36:30 +00:00
|
|
|
# contents.
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `apkDetail`
|
|
|
|
# @return [Google::Apis::TestingV1::ApkDetail]
|
|
|
|
attr_accessor :apk_detail
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@apk_detail = args[:apk_detail] if args.key?(:apk_detail)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Enables automatic Google account login. If set, the service automatically
|
|
|
|
# generates a Google test account and adds it to the device, before executing
|
|
|
|
# the test. Note that test accounts might be reused. Many applications show
|
|
|
|
# their full set of functionalities when an account is present on the device.
|
|
|
|
# Logging into the device with these generated accounts allows testing more
|
|
|
|
# functionalities.
|
2017-09-21 00:37:23 +00:00
|
|
|
class GoogleAuto
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A storage location within Google cloud storage (GCS).
|
|
|
|
class GoogleCloudStorage
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The path to a directory in GCS that will eventually contain the
|
|
|
|
# results for this test. The requesting user must have write access on the
|
|
|
|
# bucket in the supplied path.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `gcsPath`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :gcs_path
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@gcs_path = args[:gcs_path] if args.key?(:gcs_path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The section of an tag. https://developer.android.com/guide/topics/manifest/
|
|
|
|
# intent-filter-element.html
|
2018-02-09 00:35:28 +00:00
|
|
|
class IntentFilter
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The android:name value of the tag.
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `actionNames`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :action_names
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The android:name value of the tag.
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `categoryNames`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :category_names
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The android:mimeType value of the tag.
|
2018-02-09 00:35:28 +00:00
|
|
|
# Corresponds to the JSON property `mimeType`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :mime_type
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@action_names = args[:action_names] if args.key?(:action_names)
|
|
|
|
@category_names = args[:category_names] if args.key?(:category_names)
|
|
|
|
@mime_type = args[:mime_type] if args.key?(:mime_type)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A single iOS device.
|
|
|
|
class IosDevice
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The id of the iOS device to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `iosModelId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :ios_model_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The id of the iOS major software version to be used. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `iosVersionId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :ios_version_id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The locale the test device used for testing. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `locale`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :locale
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. How the device is oriented during the test. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `orientation`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :orientation
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@ios_model_id = args[:ios_model_id] if args.key?(:ios_model_id)
|
|
|
|
@ios_version_id = args[:ios_version_id] if args.key?(:ios_version_id)
|
|
|
|
@locale = args[:locale] if args.key?(:locale)
|
|
|
|
@orientation = args[:orientation] if args.key?(:orientation)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# The currently supported iOS devices.
|
|
|
|
class IosDeviceCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of supported iOS device models.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `models`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IosModel>]
|
|
|
|
attr_accessor :models
|
|
|
|
|
|
|
|
# iOS configuration that can be selected at the time a test is run.
|
|
|
|
# Corresponds to the JSON property `runtimeConfiguration`
|
|
|
|
# @return [Google::Apis::TestingV1::IosRuntimeConfiguration]
|
|
|
|
attr_accessor :runtime_configuration
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of supported iOS software versions.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `versions`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IosVersion>]
|
|
|
|
attr_accessor :versions
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of supported Xcode versions.
|
2018-10-04 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `xcodeVersions`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::XcodeVersion>]
|
|
|
|
attr_accessor :xcode_versions
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@models = args[:models] if args.key?(:models)
|
|
|
|
@runtime_configuration = args[:runtime_configuration] if args.key?(:runtime_configuration)
|
|
|
|
@versions = args[:versions] if args.key?(:versions)
|
2018-10-04 00:36:27 +00:00
|
|
|
@xcode_versions = args[:xcode_versions] if args.key?(:xcode_versions)
|
2018-09-12 00:36:25 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-10-08 00:39:03 +00:00
|
|
|
# A file or directory to install on the device before the test starts.
|
|
|
|
class IosDeviceFile
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The bundle id of the app where this file lives. iOS apps sandbox their own
|
|
|
|
# filesystem, so app files must specify which app installed on the device.
|
|
|
|
# Corresponds to the JSON property `bundleId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :bundle_id
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `content`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :content
|
|
|
|
|
|
|
|
# Location of the file on the device, inside the app's sandboxed filesystem
|
|
|
|
# Corresponds to the JSON property `devicePath`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :device_path
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@bundle_id = args[:bundle_id] if args.key?(:bundle_id)
|
|
|
|
@content = args[:content] if args.key?(:content)
|
|
|
|
@device_path = args[:device_path] if args.key?(:device_path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A list of iOS device configurations in which the test is to be executed.
|
|
|
|
class IosDeviceList
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. A list of iOS devices.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `iosDevices`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IosDevice>]
|
|
|
|
attr_accessor :ios_devices
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@ios_devices = args[:ios_devices] if args.key?(:ios_devices)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
feat: Automated regeneration of testing v1 client (#1706)
This PR was generated using Autosynth. :rainbow:
<details><summary>Log from Synthtool</summary>
```
2020-12-09 03:32:33,193 synthtool [DEBUG] > Executing /home/kbuilder/.cache/synthtool/google-api-ruby-client/synth.py.
On branch autosynth-testing-v1
nothing to commit, working tree clean
2020-12-09 03:32:33,224 synthtool [DEBUG] > Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth testing v1
DEBUG:synthtool:Running: docker run --rm -v/home/kbuilder/.cache/synthtool/google-api-ruby-client:/workspace -v/var/run/docker.sock:/var/run/docker.sock -w /workspace --entrypoint script/synth.rb gcr.io/cloud-devrel-kokoro-resources/yoshi-ruby/autosynth testing v1
bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and
installing your bundle as root will break this application for all non-root
users on this machine.
The dependency jruby-openssl (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for java. To add those platforms to the bundle, run `bundle lock --add-platform java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Fetching rake 11.3.0
Installing rake 11.3.0
Fetching concurrent-ruby 1.1.7
Installing concurrent-ruby 1.1.7
Fetching i18n 1.8.5
Installing i18n 1.8.5
Fetching minitest 5.14.2
Installing minitest 5.14.2
Fetching thread_safe 0.3.6
Installing thread_safe 0.3.6
Fetching tzinfo 1.2.8
Installing tzinfo 1.2.8
Fetching activesupport 5.0.7.2
Installing activesupport 5.0.7.2
Fetching public_suffix 4.0.6
Installing public_suffix 4.0.6
Fetching addressable 2.7.0
Installing addressable 2.7.0
Fetching ast 2.4.1
Installing ast 2.4.1
Using bundler 2.1.4
Fetching byebug 11.1.3
Installing byebug 11.1.3 with native extensions
Fetching coderay 1.1.3
Installing coderay 1.1.3
Fetching json 2.3.1
Installing json 2.3.1 with native extensions
Fetching docile 1.3.2
Installing docile 1.3.2
Fetching simplecov-html 0.10.2
Installing simplecov-html 0.10.2
Fetching simplecov 0.16.1
Installing simplecov 0.16.1
Using sync 0.5.0
Fetching tins 1.26.0
Installing tins 1.26.0
Fetching term-ansicolor 1.7.1
Installing term-ansicolor 1.7.1
Fetching thor 0.20.3
Installing thor 0.20.3
Fetching coveralls 0.8.23
Installing coveralls 0.8.23
Fetching crack 0.4.4
Installing crack 0.4.4
Fetching declarative 0.0.20
Installing declarative 0.0.20
Fetching declarative-option 0.1.0
Installing declarative-option 0.1.0
Fetching diff-lcs 1.4.4
Installing diff-lcs 1.4.4
Fetching dotenv 2.7.6
Installing dotenv 2.7.6
Fetching fakefs 0.20.1
Installing fakefs 0.20.1
Fetching multipart-post 2.1.1
Installing multipart-post 2.1.1
Fetching ruby2_keywords 0.0.2
Installing ruby2_keywords 0.0.2
Fetching faraday 1.1.0
Installing faraday 1.1.0
Fetching gems 1.2.0
Installing gems 1.2.0
Fetching github-markup 1.7.0
Installing github-markup 1.7.0
Fetching jwt 2.2.2
Installing jwt 2.2.2
Fetching memoist 0.16.2
Installing memoist 0.16.2
Fetching multi_json 1.15.0
Installing multi_json 1.15.0
Fetching os 0.9.6
Installing os 0.9.6
Fetching signet 0.14.0
Installing signet 0.14.0
Fetching googleauth 0.14.0
Installing googleauth 0.14.0
Fetching httpclient 2.8.3
Installing httpclient 2.8.3
Fetching mini_mime 1.0.2
Installing mini_mime 1.0.2
Fetching uber 0.1.0
Installing uber 0.1.0
Fetching representable 3.0.4
Installing representable 3.0.4
Fetching retriable 3.1.2
Installing retriable 3.1.2
Fetching rexml 3.2.4
Installing rexml 3.2.4
Using google-api-client 0.51.0 from source at `.`
Fetching google-id-token 1.4.2
Installing google-id-token 1.4.2
Fetching hashdiff 1.0.1
Installing hashdiff 1.0.1
Fetching mime-types-data 3.2020.1104
Installing mime-types-data 3.2020.1104
Fetching mime-types 3.3.1
Installing mime-types 3.3.1
Fetching multi_xml 0.6.0
Installing multi_xml 0.6.0
Fetching httparty 0.18.1
Installing httparty 0.18.1
Fetching rspec-support 3.10.0
Installing rspec-support 3.10.0
Fetching rspec-core 3.10.0
Installing rspec-core 3.10.0
Fetching rspec-expectations 3.10.0
Installing rspec-expectations 3.10.0
Fetching rspec-mocks 3.10.0
Installing rspec-mocks 3.10.0
Fetching rspec 3.10.0
Installing rspec 3.10.0
Fetching json_spec 1.1.5
Installing json_spec 1.1.5
Fetching launchy 2.5.0
Installing launchy 2.5.0
Fetching little-plugger 1.1.4
Installing little-plugger 1.1.4
Fetching logging 2.3.0
Installing logging 2.3.0
Fetching method_source 1.0.0
Installing method_source 1.0.0
Fetching opencensus 0.5.0
Installing opencensus 0.5.0
Fetching parallel 1.20.1
Installing parallel 1.20.1
Fetching parser 2.7.2.0
Installing parser 2.7.2.0
Fetching powerpack 0.1.3
Installing powerpack 0.1.3
Fetching pry 0.13.1
Installing pry 0.13.1
Fetching pry-byebug 3.9.0
Installing pry-byebug 3.9.0
Fetching yard 0.9.25
Installing yard 0.9.25
Fetching pry-doc 0.13.5
Installing pry-doc 0.13.5
Fetching rainbow 2.2.2
Installing rainbow 2.2.2 with native extensions
Fetching redcarpet 3.5.0
Installing redcarpet 3.5.0 with native extensions
Fetching redis 3.3.5
Installing redis 3.3.5
Fetching rmail 1.1.4
Installing rmail 1.1.4
Fetching ruby-progressbar 1.10.1
Installing ruby-progressbar 1.10.1
Fetching unicode-display_width 1.7.0
Installing unicode-display_width 1.7.0
Fetching rubocop 0.49.1
Installing rubocop 0.49.1
Fetching webmock 2.3.2
Installing webmock 2.3.2
Bundle complete! 31 Gemfile dependencies, 78 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
Post-install message from i18n:
HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
But that may break your application.
If you are upgrading your Rails application from an older version of Rails:
Please check your Rails app for 'config.i18n.fallbacks = true'.
If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
'config.i18n.fallbacks = [I18n.default_locale]'.
If not, fallbacks will be broken in your app by I18n 1.1.x.
If you are starting a NEW Rails application, you can ignore this notice.
For more info see:
https://github.com/svenfuchs/i18n/releases/tag/v1.1.0
Post-install message from httparty:
When you HTTParty, you must party hard!
echo a | bundle exec bin/generate-api gen generated --api=testing.v1 --names-out=/workspace/api_names_out.yaml
Loading testing, version v1 from https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/testing.v1.json
conflict google/apis/testing_v1.rb
<apis/testing_v1.rb? (enter "h" for help) [Ynaqdhm] a
force google/apis/testing_v1.rb
identical google/apis/testing_v1/service.rb
conflict google/apis/testing_v1/classes.rb
force google/apis/testing_v1/classes.rb
identical google/apis/testing_v1/representations.rb
identical /workspace/api_names_out.yaml
2020-12-09 03:33:00,318 synthtool [DEBUG] > Wrote metadata to generated/google/apis/testing_v1/synth.metadata.
DEBUG:synthtool:Wrote metadata to generated/google/apis/testing_v1/synth.metadata.
```
</details>
Full log will be available here:
https://source.cloud.google.com/results/invocations/13e6b812-a54d-4bbb-9ab8-105f680377a2/targets
- [ ] To automatically regenerate this PR, check this box.
2020-12-09 11:50:04 +00:00
|
|
|
# A description of an iOS device tests may be run on.
|
2018-09-12 00:36:25 +00:00
|
|
|
class IosModel
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Device capabilities. Copied from https://developer.apple.com/library/archive/
|
|
|
|
# documentation/DeviceInformation/Reference/iOSDeviceCompatibility/
|
|
|
|
# DeviceCompatibilityMatrix/DeviceCompatibilityMatrix.html
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `deviceCapabilities`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :device_capabilities
|
|
|
|
|
2018-09-18 00:36:21 +00:00
|
|
|
# Whether this device is a phone, tablet, wearable, etc.
|
|
|
|
# Corresponds to the JSON property `formFactor`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :form_factor
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The unique opaque id for this model. Use this for invoking the
|
|
|
|
# TestExecutionService.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The human-readable name for this device model. Examples: "iPhone 4s", "iPad
|
|
|
|
# Mini 2".
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
2019-09-10 21:25:47 +00:00
|
|
|
# Screen density in DPI.
|
|
|
|
# Corresponds to the JSON property `screenDensity`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_density
|
|
|
|
|
|
|
|
# Screen size in the horizontal (X) dimension measured in pixels.
|
|
|
|
# Corresponds to the JSON property `screenX`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_x
|
|
|
|
|
|
|
|
# Screen size in the vertical (Y) dimension measured in pixels.
|
|
|
|
# Corresponds to the JSON property `screenY`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :screen_y
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of iOS major software versions this device supports.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `supportedVersionIds`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :supported_version_ids
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@device_capabilities = args[:device_capabilities] if args.key?(:device_capabilities)
|
2018-09-18 00:36:21 +00:00
|
|
|
@form_factor = args[:form_factor] if args.key?(:form_factor)
|
2018-09-12 00:36:25 +00:00
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
2019-09-10 21:25:47 +00:00
|
|
|
@screen_density = args[:screen_density] if args.key?(:screen_density)
|
|
|
|
@screen_x = args[:screen_x] if args.key?(:screen_x)
|
|
|
|
@screen_y = args[:screen_y] if args.key?(:screen_y)
|
2018-09-12 00:36:25 +00:00
|
|
|
@supported_version_ids = args[:supported_version_ids] if args.key?(:supported_version_ids)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# iOS configuration that can be selected at the time a test is run.
|
|
|
|
class IosRuntimeConfiguration
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of available locales.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `locales`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::Locale>]
|
|
|
|
attr_accessor :locales
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The set of available orientations.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `orientations`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::Orientation>]
|
|
|
|
attr_accessor :orientations
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@locales = args[:locales] if args.key?(:locales)
|
|
|
|
@orientations = args[:orientations] if args.key?(:orientations)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-09-26 00:37:44 +00:00
|
|
|
# A test of an iOS application that implements one or more game loop scenarios.
|
|
|
|
# This test type accepts an archived application (.ipa file) and a list of
|
|
|
|
# integer scenarios that will be executed on the app sequentially.
|
|
|
|
class IosTestLoop
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Output only. The bundle id for the application under test.
|
|
|
|
# Corresponds to the JSON property `appBundleId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_bundle_id
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `appIpa`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :app_ipa
|
|
|
|
|
|
|
|
# The list of scenarios that should be run during the test. Defaults to the
|
|
|
|
# single scenario 0 if unspecified.
|
|
|
|
# Corresponds to the JSON property `scenarios`
|
|
|
|
# @return [Array<Fixnum>]
|
|
|
|
attr_accessor :scenarios
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@app_bundle_id = args[:app_bundle_id] if args.key?(:app_bundle_id)
|
|
|
|
@app_ipa = args[:app_ipa] if args.key?(:app_ipa)
|
|
|
|
@scenarios = args[:scenarios] if args.key?(:scenarios)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# A description of how to set up an iOS device prior to running the test.
|
2018-09-12 00:36:25 +00:00
|
|
|
class IosTestSetup
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-26 00:38:28 +00:00
|
|
|
# iOS apps to install in addition to those being directly tested.
|
|
|
|
# Corresponds to the JSON property `additionalIpas`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::FileReference>]
|
|
|
|
attr_accessor :additional_ipas
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The network traffic profile used for running the test. Available network
|
|
|
|
# profiles can be queried by using the NETWORK_CONFIGURATION environment type
|
|
|
|
# when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `networkProfile`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :network_profile
|
|
|
|
|
2020-10-08 00:39:03 +00:00
|
|
|
# List of directories on the device to upload to Cloud Storage at the end of the
|
|
|
|
# test. Directories should either be in a shared directory (e.g. /private/var/
|
|
|
|
# mobile/Media) or within an accessible directory inside the app's filesystem (e.
|
|
|
|
# g. /Documents) by specifying the bundle id.
|
|
|
|
# Corresponds to the JSON property `pullDirectories`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IosDeviceFile>]
|
|
|
|
attr_accessor :pull_directories
|
|
|
|
|
|
|
|
# List of files to push to the device before starting the test.
|
|
|
|
# Corresponds to the JSON property `pushFiles`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::IosDeviceFile>]
|
|
|
|
attr_accessor :push_files
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2020-08-26 00:38:28 +00:00
|
|
|
@additional_ipas = args[:additional_ipas] if args.key?(:additional_ipas)
|
2018-09-12 00:36:25 +00:00
|
|
|
@network_profile = args[:network_profile] if args.key?(:network_profile)
|
2020-10-08 00:39:03 +00:00
|
|
|
@pull_directories = args[:pull_directories] if args.key?(:pull_directories)
|
|
|
|
@push_files = args[:push_files] if args.key?(:push_files)
|
2018-09-12 00:36:25 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# An iOS version.
|
2018-09-12 00:36:25 +00:00
|
|
|
class IosVersion
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An opaque id for this iOS version. Use this id to invoke the
|
|
|
|
# TestExecutionService.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An integer representing the major iOS version. Examples: "8", "9".
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `majorVersion`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :major_version
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# An integer representing the minor iOS version. Examples: "1", "2".
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `minorVersion`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :minor_version
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The available Xcode versions for this version.
|
2018-10-04 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `supportedXcodeVersionIds`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :supported_xcode_version_ids
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Examples: "default", "preview", "deprecated".
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@major_version = args[:major_version] if args.key?(:major_version)
|
|
|
|
@minor_version = args[:minor_version] if args.key?(:minor_version)
|
2018-10-04 00:36:27 +00:00
|
|
|
@supported_xcode_version_ids = args[:supported_xcode_version_ids] if args.key?(:supported_xcode_version_ids)
|
2018-09-12 00:36:25 +00:00
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an iOS application that uses the XCTest framework. Xcode supports
|
|
|
|
# the option to "build for testing", which generates an .xctestrun file that
|
|
|
|
# contains a test specification (arguments, test methods, etc). This test type
|
|
|
|
# accepts a zip file containing the .xctestrun file and the corresponding
|
|
|
|
# contents of the Build/Products directory that contains all the binaries needed
|
|
|
|
# to run the tests.
|
2018-09-12 00:36:25 +00:00
|
|
|
class IosXcTest
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2019-01-04 00:36:35 +00:00
|
|
|
# Output only. The bundle id for the application under test.
|
|
|
|
# Corresponds to the JSON property `appBundleId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :app_bundle_id
|
|
|
|
|
2020-05-07 20:07:42 +00:00
|
|
|
# The option to test special app entitlements. Setting this would re-sign the
|
|
|
|
# app having special entitlements with an explicit application-identifier.
|
|
|
|
# Currently supports testing aps-environment entitlement.
|
|
|
|
# Corresponds to the JSON property `testSpecialEntitlements`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :test_special_entitlements
|
|
|
|
alias_method :test_special_entitlements?, :test_special_entitlements
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `testsZip`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :tests_zip
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The Xcode version that should be used for the test. Use the
|
|
|
|
# TestEnvironmentDiscoveryService to get supported options. Defaults to the
|
|
|
|
# latest Xcode version Firebase Test Lab supports.
|
2018-10-04 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `xcodeVersion`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :xcode_version
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `xctestrun`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :xctestrun
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2019-01-04 00:36:35 +00:00
|
|
|
@app_bundle_id = args[:app_bundle_id] if args.key?(:app_bundle_id)
|
2020-05-07 20:07:42 +00:00
|
|
|
@test_special_entitlements = args[:test_special_entitlements] if args.key?(:test_special_entitlements)
|
2018-09-12 00:36:25 +00:00
|
|
|
@tests_zip = args[:tests_zip] if args.key?(:tests_zip)
|
2018-10-04 00:36:27 +00:00
|
|
|
@xcode_version = args[:xcode_version] if args.key?(:xcode_version)
|
2018-09-12 00:36:25 +00:00
|
|
|
@xctestrun = args[:xctestrun] if args.key?(:xctestrun)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-12-15 00:36:11 +00:00
|
|
|
# Specifies an intent that starts the main launcher activity.
|
|
|
|
class LauncherActivityIntent
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# A location/region designation for language.
|
|
|
|
class Locale
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The id for this locale. Example: "en_US".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A human-friendly name for this language/locale. Example: "English".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A human-friendly string representing the region for this locale. Example: "
|
|
|
|
# United States". Not present for every locale.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `region`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :region
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Example: "default".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@region = args[:region] if args.key?(:region)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-10-23 00:36:47 +00:00
|
|
|
# Shards test cases into the specified groups of packages, classes, and/or
|
2020-08-07 00:38:13 +00:00
|
|
|
# methods. With manual sharding enabled, specifying test targets via
|
2019-10-23 00:36:47 +00:00
|
|
|
# environment_variables or in InstrumentationTest is invalid.
|
|
|
|
class ManualSharding
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. Group of packages, classes, and/or test methods to be run for each
|
|
|
|
# shard. When any physical devices are selected, the number of
|
2020-07-08 00:38:10 +00:00
|
|
|
# test_targets_for_shard must be >= 1 and <= 50. When no physical devices are
|
2020-10-21 16:19:50 +00:00
|
|
|
# selected, the number must be >= 1 and <= 500.
|
2019-10-23 00:36:47 +00:00
|
|
|
# Corresponds to the JSON property `testTargetsForShard`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::TestTargetsForShard>]
|
|
|
|
attr_accessor :test_targets_for_shard
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@test_targets_for_shard = args[:test_targets_for_shard] if args.key?(:test_targets_for_shard)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
#
|
|
|
|
class NetworkConfiguration
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Network emulation parameters.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `downRule`
|
|
|
|
# @return [Google::Apis::TestingV1::TrafficRule]
|
|
|
|
attr_accessor :down_rule
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# The unique opaque id for this network traffic configuration.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Network emulation parameters.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `upRule`
|
|
|
|
# @return [Google::Apis::TestingV1::TrafficRule]
|
|
|
|
attr_accessor :up_rule
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@down_rule = args[:down_rule] if args.key?(:down_rule)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@up_rule = args[:up_rule] if args.key?(:up_rule)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
class NetworkConfigurationCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
#
|
|
|
|
# Corresponds to the JSON property `configurations`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::NetworkConfiguration>]
|
|
|
|
attr_accessor :configurations
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@configurations = args[:configurations] if args.key?(:configurations)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# An opaque binary blob file to install on the device before the test starts.
|
2017-09-21 00:37:23 +00:00
|
|
|
class ObbFile
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `obb`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :obb
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. OBB file name which must conform to the format as specified by
|
2020-08-07 00:38:13 +00:00
|
|
|
# Android e.g. [main|patch].0300110.com.example.android.obb which will be
|
|
|
|
# installed into \/Android/obb/\/ on the device.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `obbFileName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :obb_file_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@obb = args[:obb] if args.key?(:obb)
|
|
|
|
@obb_file_name = args[:obb_file_name] if args.key?(:obb_file_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Screen orientation of the device.
|
|
|
|
class Orientation
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The id for this orientation. Example: "portrait".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A human-friendly name for this orientation. Example: "portrait".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this dimension. Example: "default".
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-05-23 00:36:42 +00:00
|
|
|
# The currently provided software environment on the devices under test.
|
|
|
|
class ProvidedSoftwareCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A string representing the current version of Android Test Orchestrator that is
|
|
|
|
# provided by TestExecutionService. Example: "1.0.2 beta".
|
2018-05-23 00:36:42 +00:00
|
|
|
# Corresponds to the JSON property `orchestratorVersion`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :orchestrator_version
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@orchestrator_version = args[:orchestrator_version] if args.key?(:orchestrator_version)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# A file or directory to install on the device before the test starts.
|
2018-03-08 00:36:04 +00:00
|
|
|
class RegularFile
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A reference to a file, used for user inputs.
|
|
|
|
# Corresponds to the JSON property `content`
|
|
|
|
# @return [Google::Apis::TestingV1::FileReference]
|
|
|
|
attr_accessor :content
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. Where to put the content on the device. Must be an absolute,
|
2020-08-07 00:38:13 +00:00
|
|
|
# allowlisted path. If the file exists, it will be replaced. The following
|
|
|
|
# device-side directories and any of their subdirectories are allowlisted: $`
|
|
|
|
# EXTERNAL_STORAGE`, /sdcard, or /storage $`ANDROID_DATA`/local/tmp, or /data/
|
|
|
|
# local/tmp Specifying a path outside of these directory trees is invalid. The
|
|
|
|
# paths /sdcard and /data will be made available and treated as implicit path
|
|
|
|
# substitutions. E.g. if /sdcard on a particular device does not map to external
|
|
|
|
# storage, the system will replace it with the external storage path prefix for
|
|
|
|
# that device and copy the file there. It is strongly advised to use the
|
|
|
|
# Environment API in app and test code to access files on the device in a
|
2018-03-08 00:36:04 +00:00
|
|
|
# portable way.
|
|
|
|
# Corresponds to the JSON property `devicePath`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :device_path
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@content = args[:content] if args.key?(:content)
|
|
|
|
@device_path = args[:device_path] if args.key?(:device_path)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# Locations where the results of running the test are stored.
|
|
|
|
class ResultStorage
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A storage location within Google cloud storage (GCS).
|
|
|
|
# Corresponds to the JSON property `googleCloudStorage`
|
|
|
|
# @return [Google::Apis::TestingV1::GoogleCloudStorage]
|
|
|
|
attr_accessor :google_cloud_storage
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# Output only. URL to the results in the Firebase Web Console.
|
|
|
|
# Corresponds to the JSON property `resultsUrl`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :results_url
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Represents a tool results execution resource. This has the results of a
|
|
|
|
# TestMatrix.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `toolResultsExecution`
|
|
|
|
# @return [Google::Apis::TestingV1::ToolResultsExecution]
|
|
|
|
attr_accessor :tool_results_execution
|
|
|
|
|
|
|
|
# Represents a tool results history resource.
|
|
|
|
# Corresponds to the JSON property `toolResultsHistory`
|
|
|
|
# @return [Google::Apis::TestingV1::ToolResultsHistory]
|
|
|
|
attr_accessor :tool_results_history
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@google_cloud_storage = args[:google_cloud_storage] if args.key?(:google_cloud_storage)
|
2019-05-15 00:38:02 +00:00
|
|
|
@results_url = args[:results_url] if args.key?(:results_url)
|
2017-09-21 00:37:23 +00:00
|
|
|
@tool_results_execution = args[:tool_results_execution] if args.key?(:tool_results_execution)
|
|
|
|
@tool_results_history = args[:tool_results_history] if args.key?(:tool_results_history)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Directs Robo to interact with a specific UI element if it is encountered
|
|
|
|
# during the crawl. Currently, Robo can perform text entry or element click.
|
|
|
|
class RoboDirective
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The type of action that Robo should perform on the specified element.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `actionType`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :action_type
|
|
|
|
|
|
|
|
# The text that Robo is directed to set. If left empty, the directive will be
|
|
|
|
# treated as a CLICK on the element matching the resource_name.
|
|
|
|
# Corresponds to the JSON property `inputText`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :input_text
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. The android resource name of the target UI element. For example, in
|
|
|
|
# Java: R.string.foo in xml: @string/foo Only the "foo" part is needed.
|
|
|
|
# Reference doc: https://developer.android.com/guide/topics/resources/accessing-
|
|
|
|
# resources.html
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `resourceName`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :resource_name
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@action_type = args[:action_type] if args.key?(:action_type)
|
|
|
|
@input_text = args[:input_text] if args.key?(:input_text)
|
|
|
|
@resource_name = args[:resource_name] if args.key?(:resource_name)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Message for specifying the start activities to crawl.
|
2017-12-15 00:36:11 +00:00
|
|
|
class RoboStartingIntent
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Specifies an intent that starts the main launcher activity.
|
|
|
|
# Corresponds to the JSON property `launcherActivity`
|
|
|
|
# @return [Google::Apis::TestingV1::LauncherActivityIntent]
|
|
|
|
attr_accessor :launcher_activity
|
|
|
|
|
|
|
|
# A starting intent specified by an action, uri, and categories.
|
|
|
|
# Corresponds to the JSON property `startActivity`
|
|
|
|
# @return [Google::Apis::TestingV1::StartActivityIntent]
|
|
|
|
attr_accessor :start_activity
|
|
|
|
|
2019-02-06 00:36:50 +00:00
|
|
|
# Timeout in seconds for each intent.
|
|
|
|
# Corresponds to the JSON property `timeout`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :timeout
|
|
|
|
|
2017-12-15 00:36:11 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@launcher_activity = args[:launcher_activity] if args.key?(:launcher_activity)
|
|
|
|
@start_activity = args[:start_activity] if args.key?(:start_activity)
|
2019-02-06 00:36:50 +00:00
|
|
|
@timeout = args[:timeout] if args.key?(:timeout)
|
2017-12-15 00:36:11 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-10-23 00:36:47 +00:00
|
|
|
# Output only. Details about the shard.
|
|
|
|
class Shard
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Output only. The total number of shards.
|
|
|
|
# Corresponds to the JSON property `numShards`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :num_shards
|
|
|
|
|
|
|
|
# Output only. The index of the shard among all the shards.
|
|
|
|
# Corresponds to the JSON property `shardIndex`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :shard_index
|
|
|
|
|
|
|
|
# Test targets for a shard.
|
|
|
|
# Corresponds to the JSON property `testTargetsForShard`
|
|
|
|
# @return [Google::Apis::TestingV1::TestTargetsForShard]
|
|
|
|
attr_accessor :test_targets_for_shard
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@num_shards = args[:num_shards] if args.key?(:num_shards)
|
|
|
|
@shard_index = args[:shard_index] if args.key?(:shard_index)
|
|
|
|
@test_targets_for_shard = args[:test_targets_for_shard] if args.key?(:test_targets_for_shard)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Options for enabling sharding.
|
|
|
|
class ShardingOption
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Shards test cases into the specified groups of packages, classes, and/or
|
2020-08-07 00:38:13 +00:00
|
|
|
# methods. With manual sharding enabled, specifying test targets via
|
2019-10-23 00:36:47 +00:00
|
|
|
# environment_variables or in InstrumentationTest is invalid.
|
|
|
|
# Corresponds to the JSON property `manualSharding`
|
|
|
|
# @return [Google::Apis::TestingV1::ManualSharding]
|
|
|
|
attr_accessor :manual_sharding
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Uniformly shards test cases given a total number of shards. For
|
|
|
|
# Instrumentation test, it will be translated to "-e numShard" "-e shardIndex"
|
|
|
|
# AndroidJUnitRunner arguments. With uniform sharding enabled, specifying these
|
|
|
|
# sharding arguments via environment_variables is invalid.
|
2019-10-23 00:36:47 +00:00
|
|
|
# Corresponds to the JSON property `uniformSharding`
|
|
|
|
# @return [Google::Apis::TestingV1::UniformSharding]
|
|
|
|
attr_accessor :uniform_sharding
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@manual_sharding = args[:manual_sharding] if args.key?(:manual_sharding)
|
|
|
|
@uniform_sharding = args[:uniform_sharding] if args.key?(:uniform_sharding)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-12-15 00:36:11 +00:00
|
|
|
# A starting intent specified by an action, uri, and categories.
|
|
|
|
class StartActivityIntent
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Action name. Required for START_ACTIVITY.
|
2017-12-15 00:36:11 +00:00
|
|
|
# Corresponds to the JSON property `action`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :action
|
|
|
|
|
|
|
|
# Intent categories to set on the intent.
|
|
|
|
# Corresponds to the JSON property `categories`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :categories
|
|
|
|
|
|
|
|
# URI for the action.
|
|
|
|
# Corresponds to the JSON property `uri`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :uri
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@action = args[:action] if args.key?(:action)
|
|
|
|
@categories = args[:categories] if args.key?(:categories)
|
|
|
|
@uri = args[:uri] if args.key?(:uri)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-02-19 00:37:40 +00:00
|
|
|
#
|
|
|
|
class SystraceSetup
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Systrace duration in seconds. Should be between 1 and 30 seconds. 0 disables
|
|
|
|
# systrace.
|
2020-02-19 00:37:40 +00:00
|
|
|
# Corresponds to the JSON property `durationSeconds`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :duration_seconds
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@duration_seconds = args[:duration_seconds] if args.key?(:duration_seconds)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# Additional details about the progress of the running test.
|
|
|
|
class TestDetails
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output only. If the TestState is ERROR, then this string will contain human-
|
|
|
|
# readable details about the error.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `errorMessage`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :error_message
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output only. Human-readable, detailed descriptions of the test's progress. For
|
|
|
|
# example: "Provisioning a device", "Starting Test". During the course of
|
|
|
|
# execution new data may be appended to the end of progress_messages.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `progressMessages`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :progress_messages
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@error_message = args[:error_message] if args.key?(:error_message)
|
|
|
|
@progress_messages = args[:progress_messages] if args.key?(:progress_messages)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A description of a test environment.
|
|
|
|
class TestEnvironmentCatalog
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The currently supported Android devices.
|
|
|
|
# Corresponds to the JSON property `androidDeviceCatalog`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidDeviceCatalog]
|
|
|
|
attr_accessor :android_device_catalog
|
|
|
|
|
2020-07-22 00:38:03 +00:00
|
|
|
# List of IP blocks used by the Firebase Test Lab
|
|
|
|
# Corresponds to the JSON property `deviceIpBlockCatalog`
|
|
|
|
# @return [Google::Apis::TestingV1::DeviceIpBlockCatalog]
|
|
|
|
attr_accessor :device_ip_block_catalog
|
|
|
|
|
2018-09-12 00:36:25 +00:00
|
|
|
# The currently supported iOS devices.
|
|
|
|
# Corresponds to the JSON property `iosDeviceCatalog`
|
|
|
|
# @return [Google::Apis::TestingV1::IosDeviceCatalog]
|
|
|
|
attr_accessor :ios_device_catalog
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Supported network configurations.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `networkConfigurationCatalog`
|
|
|
|
# @return [Google::Apis::TestingV1::NetworkConfigurationCatalog]
|
|
|
|
attr_accessor :network_configuration_catalog
|
|
|
|
|
2018-05-23 00:36:42 +00:00
|
|
|
# The currently provided software environment on the devices under test.
|
|
|
|
# Corresponds to the JSON property `softwareCatalog`
|
|
|
|
# @return [Google::Apis::TestingV1::ProvidedSoftwareCatalog]
|
|
|
|
attr_accessor :software_catalog
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_device_catalog = args[:android_device_catalog] if args.key?(:android_device_catalog)
|
2020-07-22 00:38:03 +00:00
|
|
|
@device_ip_block_catalog = args[:device_ip_block_catalog] if args.key?(:device_ip_block_catalog)
|
2018-09-12 00:36:25 +00:00
|
|
|
@ios_device_catalog = args[:ios_device_catalog] if args.key?(:ios_device_catalog)
|
2017-09-21 00:37:23 +00:00
|
|
|
@network_configuration_catalog = args[:network_configuration_catalog] if args.key?(:network_configuration_catalog)
|
2018-05-23 00:36:42 +00:00
|
|
|
@software_catalog = args[:software_catalog] if args.key?(:software_catalog)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# A single test executed in a single environment.
|
2017-09-21 00:37:23 +00:00
|
|
|
class TestExecution
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# The environment in which the test is run.
|
|
|
|
# Corresponds to the JSON property `environment`
|
|
|
|
# @return [Google::Apis::TestingV1::Environment]
|
|
|
|
attr_accessor :environment
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# Output only. Unique id set by the service.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `id`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. Id of the containing TestMatrix.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `matrixId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :matrix_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The cloud project that owns the test execution.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
2019-10-23 00:36:47 +00:00
|
|
|
# Output only. Details about the shard.
|
|
|
|
# Corresponds to the JSON property `shard`
|
|
|
|
# @return [Google::Apis::TestingV1::Shard]
|
|
|
|
attr_accessor :shard
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output only. Indicates the current progress of the test execution (e.g.,
|
|
|
|
# FINISHED).
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `state`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :state
|
|
|
|
|
|
|
|
# Additional details about the progress of the running test.
|
|
|
|
# Corresponds to the JSON property `testDetails`
|
|
|
|
# @return [Google::Apis::TestingV1::TestDetails]
|
|
|
|
attr_accessor :test_details
|
|
|
|
|
|
|
|
# A description of how to run the test.
|
|
|
|
# Corresponds to the JSON property `testSpecification`
|
|
|
|
# @return [Google::Apis::TestingV1::TestSpecification]
|
|
|
|
attr_accessor :test_specification
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The time this test execution was initially created.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `timestamp`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :timestamp
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Represents a tool results step resource. This has the results of a
|
|
|
|
# TestExecution.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `toolResultsStep`
|
|
|
|
# @return [Google::Apis::TestingV1::ToolResultsStep]
|
|
|
|
attr_accessor :tool_results_step
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@environment = args[:environment] if args.key?(:environment)
|
|
|
|
@id = args[:id] if args.key?(:id)
|
|
|
|
@matrix_id = args[:matrix_id] if args.key?(:matrix_id)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
2019-10-23 00:36:47 +00:00
|
|
|
@shard = args[:shard] if args.key?(:shard)
|
2017-09-21 00:37:23 +00:00
|
|
|
@state = args[:state] if args.key?(:state)
|
|
|
|
@test_details = args[:test_details] if args.key?(:test_details)
|
|
|
|
@test_specification = args[:test_specification] if args.key?(:test_specification)
|
|
|
|
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
|
|
|
@tool_results_step = args[:tool_results_step] if args.key?(:tool_results_step)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# TestMatrix captures all details about a test. It contains the environment
|
|
|
|
# configuration, test specification, test executions and overall state and
|
|
|
|
# outcome.
|
2017-09-21 00:37:23 +00:00
|
|
|
class TestMatrix
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Information about the client which invoked the test.
|
|
|
|
# Corresponds to the JSON property `clientInfo`
|
|
|
|
# @return [Google::Apis::TestingV1::ClientInfo]
|
|
|
|
attr_accessor :client_info
|
|
|
|
|
|
|
|
# The matrix of environments in which the test is to be executed.
|
|
|
|
# Corresponds to the JSON property `environmentMatrix`
|
|
|
|
# @return [Google::Apis::TestingV1::EnvironmentMatrix]
|
|
|
|
attr_accessor :environment_matrix
|
|
|
|
|
2020-10-21 16:19:50 +00:00
|
|
|
# If true, only a single attempt at most will be made to run each execution/
|
|
|
|
# shard in the matrix. Flaky test attempts are not affected. Normally, 2 or more
|
|
|
|
# attempts are made if a potential infrastructure issue is detected. This
|
|
|
|
# feature is for latency sensitive workloads. The incidence of execution
|
|
|
|
# failures may be significantly greater for fail-fast matrices and support is
|
|
|
|
# more limited because of that expectation.
|
|
|
|
# Corresponds to the JSON property `failFast`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :fail_fast
|
|
|
|
alias_method :fail_fast?, :fail_fast
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The number of times a TestExecution should be re-attempted if one or more of
|
|
|
|
# its test cases fail for any reason. The maximum number of reruns allowed is 10.
|
2019-01-08 00:36:30 +00:00
|
|
|
# Default is 0, which implies no reruns.
|
|
|
|
# Corresponds to the JSON property `flakyTestAttempts`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :flaky_test_attempts
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output only. Describes why the matrix is considered invalid. Only useful for
|
|
|
|
# matrices in the INVALID state.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `invalidMatrixDetails`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :invalid_matrix_details
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output Only. The overall outcome of the test. Only set when the test matrix
|
|
|
|
# state is FINISHED.
|
2019-05-15 00:38:02 +00:00
|
|
|
# Corresponds to the JSON property `outcomeSummary`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :outcome_summary
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
# The cloud project that owns the test matrix.
|
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
|
|
|
# Locations where the results of running the test are stored.
|
|
|
|
# Corresponds to the JSON property `resultStorage`
|
|
|
|
# @return [Google::Apis::TestingV1::ResultStorage]
|
|
|
|
attr_accessor :result_storage
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# Output only. Indicates the current progress of the test matrix.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `state`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :state
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Output only. The list of test executions that the service creates for this
|
|
|
|
# matrix.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testExecutions`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::TestExecution>]
|
|
|
|
attr_accessor :test_executions
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. Unique id set by the service.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testMatrixId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :test_matrix_id
|
|
|
|
|
|
|
|
# A description of how to run the test.
|
|
|
|
# Corresponds to the JSON property `testSpecification`
|
|
|
|
# @return [Google::Apis::TestingV1::TestSpecification]
|
|
|
|
attr_accessor :test_specification
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The time this test matrix was initially created.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `timestamp`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :timestamp
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@client_info = args[:client_info] if args.key?(:client_info)
|
|
|
|
@environment_matrix = args[:environment_matrix] if args.key?(:environment_matrix)
|
2020-10-21 16:19:50 +00:00
|
|
|
@fail_fast = args[:fail_fast] if args.key?(:fail_fast)
|
2019-01-08 00:36:30 +00:00
|
|
|
@flaky_test_attempts = args[:flaky_test_attempts] if args.key?(:flaky_test_attempts)
|
2017-09-21 00:37:23 +00:00
|
|
|
@invalid_matrix_details = args[:invalid_matrix_details] if args.key?(:invalid_matrix_details)
|
2019-05-15 00:38:02 +00:00
|
|
|
@outcome_summary = args[:outcome_summary] if args.key?(:outcome_summary)
|
2017-09-21 00:37:23 +00:00
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
@result_storage = args[:result_storage] if args.key?(:result_storage)
|
|
|
|
@state = args[:state] if args.key?(:state)
|
|
|
|
@test_executions = args[:test_executions] if args.key?(:test_executions)
|
|
|
|
@test_matrix_id = args[:test_matrix_id] if args.key?(:test_matrix_id)
|
|
|
|
@test_specification = args[:test_specification] if args.key?(:test_specification)
|
|
|
|
@timestamp = args[:timestamp] if args.key?(:timestamp)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-03-01 00:36:09 +00:00
|
|
|
# A description of how to set up the Android device prior to running the test.
|
2017-09-21 00:37:23 +00:00
|
|
|
class TestSetup
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Identifies an account and how to log into it.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `account`
|
|
|
|
# @return [Google::Apis::TestingV1::Account]
|
|
|
|
attr_accessor :account
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# APKs to install in addition to those being directly tested. Currently capped
|
|
|
|
# at 100.
|
2018-03-08 00:36:04 +00:00
|
|
|
# Corresponds to the JSON property `additionalApks`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::Apk>]
|
|
|
|
attr_accessor :additional_apks
|
|
|
|
|
2017-10-13 00:35:09 +00:00
|
|
|
# List of directories on the device to upload to GCS at the end of the test;
|
2020-08-07 00:38:13 +00:00
|
|
|
# they must be absolute paths under /sdcard, /storage or /data/local/tmp. Path
|
|
|
|
# names are restricted to characters a-z A-Z 0-9 _ - . + and / Note: The paths /
|
|
|
|
# sdcard and /data will be made available and treated as implicit path
|
|
|
|
# substitutions. E.g. if /sdcard on a particular device does not map to external
|
|
|
|
# storage, the system will replace it with the external storage path prefix for
|
|
|
|
# that device.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `directoriesToPull`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :directories_to_pull
|
|
|
|
|
2020-07-08 00:38:10 +00:00
|
|
|
# Whether to prevent all runtime permissions to be granted at app install
|
|
|
|
# Corresponds to the JSON property `dontAutograntPermissions`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :dont_autogrant_permissions
|
|
|
|
alias_method :dont_autogrant_permissions?, :dont_autogrant_permissions
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Environment variables to set for the test (only applicable for instrumentation
|
|
|
|
# tests).
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `environmentVariables`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::EnvironmentVariable>]
|
|
|
|
attr_accessor :environment_variables
|
|
|
|
|
2017-10-13 00:35:09 +00:00
|
|
|
# List of files to push to the device before starting the test.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `filesToPush`
|
|
|
|
# @return [Array<Google::Apis::TestingV1::DeviceFile>]
|
|
|
|
attr_accessor :files_to_push
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The network traffic profile used for running the test. Available network
|
|
|
|
# profiles can be queried by using the NETWORK_CONFIGURATION environment type
|
|
|
|
# when calling TestEnvironmentDiscoveryService.GetTestEnvironmentCatalog.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `networkProfile`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :network_profile
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Systrace configuration for the run. If set a systrace will be taken, starting
|
|
|
|
# on test start and lasting for the configured duration. The systrace file thus
|
|
|
|
# obtained is put in the results bucket together with the other artifacts from
|
|
|
|
# the run.
|
2020-02-19 00:37:40 +00:00
|
|
|
# Corresponds to the JSON property `systrace`
|
|
|
|
# @return [Google::Apis::TestingV1::SystraceSetup]
|
|
|
|
attr_accessor :systrace
|
|
|
|
|
2017-09-21 00:37:23 +00:00
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@account = args[:account] if args.key?(:account)
|
2018-03-08 00:36:04 +00:00
|
|
|
@additional_apks = args[:additional_apks] if args.key?(:additional_apks)
|
2017-09-21 00:37:23 +00:00
|
|
|
@directories_to_pull = args[:directories_to_pull] if args.key?(:directories_to_pull)
|
2020-07-08 00:38:10 +00:00
|
|
|
@dont_autogrant_permissions = args[:dont_autogrant_permissions] if args.key?(:dont_autogrant_permissions)
|
2017-09-21 00:37:23 +00:00
|
|
|
@environment_variables = args[:environment_variables] if args.key?(:environment_variables)
|
|
|
|
@files_to_push = args[:files_to_push] if args.key?(:files_to_push)
|
|
|
|
@network_profile = args[:network_profile] if args.key?(:network_profile)
|
2020-02-19 00:37:40 +00:00
|
|
|
@systrace = args[:systrace] if args.key?(:systrace)
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# A description of how to run the test.
|
|
|
|
class TestSpecification
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# A test of an Android application that can control an Android component
|
2020-08-07 00:38:13 +00:00
|
|
|
# independently of its normal lifecycle. Android instrumentation tests run an
|
|
|
|
# application APK and test APK inside the same process on a virtual or physical
|
|
|
|
# AndroidDevice. They also specify a test runner class, such as com.google.
|
|
|
|
# GoogleTestRunner, which can vary on the specific instrumentation framework
|
|
|
|
# chosen. See for more information on types of Android tests.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidInstrumentationTest`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidInstrumentationTest]
|
|
|
|
attr_accessor :android_instrumentation_test
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an android application that explores the application on a virtual or
|
2020-10-21 16:19:50 +00:00
|
|
|
# physical Android Device, finding culprits and crashes as it goes. Next tag: 30
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidRoboTest`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidRoboTest]
|
|
|
|
attr_accessor :android_robo_test
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an Android Application with a Test Loop. The intent \ will be
|
|
|
|
# implicitly added, since Games is the only user of this api, for the time being.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `androidTestLoop`
|
|
|
|
# @return [Google::Apis::TestingV1::AndroidTestLoop]
|
|
|
|
attr_accessor :android_test_loop
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# Disables performance metrics recording. May reduce test latency.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `disablePerformanceMetrics`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :disable_performance_metrics
|
|
|
|
alias_method :disable_performance_metrics?, :disable_performance_metrics
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# Disables video recording. May reduce test latency.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `disableVideoRecording`
|
|
|
|
# @return [Boolean]
|
|
|
|
attr_accessor :disable_video_recording
|
|
|
|
alias_method :disable_video_recording?, :disable_video_recording
|
|
|
|
|
2019-09-26 00:37:44 +00:00
|
|
|
# A test of an iOS application that implements one or more game loop scenarios.
|
|
|
|
# This test type accepts an archived application (.ipa file) and a list of
|
|
|
|
# integer scenarios that will be executed on the app sequentially.
|
|
|
|
# Corresponds to the JSON property `iosTestLoop`
|
|
|
|
# @return [Google::Apis::TestingV1::IosTestLoop]
|
|
|
|
attr_accessor :ios_test_loop
|
|
|
|
|
2019-05-15 00:38:02 +00:00
|
|
|
# A description of how to set up an iOS device prior to running the test.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `iosTestSetup`
|
|
|
|
# @return [Google::Apis::TestingV1::IosTestSetup]
|
|
|
|
attr_accessor :ios_test_setup
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# A test of an iOS application that uses the XCTest framework. Xcode supports
|
|
|
|
# the option to "build for testing", which generates an .xctestrun file that
|
|
|
|
# contains a test specification (arguments, test methods, etc). This test type
|
|
|
|
# accepts a zip file containing the .xctestrun file and the corresponding
|
|
|
|
# contents of the Build/Products directory that contains all the binaries needed
|
|
|
|
# to run the tests.
|
2018-09-12 00:36:25 +00:00
|
|
|
# Corresponds to the JSON property `iosXcTest`
|
|
|
|
# @return [Google::Apis::TestingV1::IosXcTest]
|
|
|
|
attr_accessor :ios_xc_test
|
|
|
|
|
2018-03-01 00:36:09 +00:00
|
|
|
# A description of how to set up the Android device prior to running the test.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testSetup`
|
|
|
|
# @return [Google::Apis::TestingV1::TestSetup]
|
|
|
|
attr_accessor :test_setup
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Max time a test execution is allowed to run before it is automatically
|
|
|
|
# cancelled. The default value is 5 min.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `testTimeout`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :test_timeout
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@android_instrumentation_test = args[:android_instrumentation_test] if args.key?(:android_instrumentation_test)
|
|
|
|
@android_robo_test = args[:android_robo_test] if args.key?(:android_robo_test)
|
|
|
|
@android_test_loop = args[:android_test_loop] if args.key?(:android_test_loop)
|
|
|
|
@disable_performance_metrics = args[:disable_performance_metrics] if args.key?(:disable_performance_metrics)
|
|
|
|
@disable_video_recording = args[:disable_video_recording] if args.key?(:disable_video_recording)
|
2019-09-26 00:37:44 +00:00
|
|
|
@ios_test_loop = args[:ios_test_loop] if args.key?(:ios_test_loop)
|
2018-09-12 00:36:25 +00:00
|
|
|
@ios_test_setup = args[:ios_test_setup] if args.key?(:ios_test_setup)
|
|
|
|
@ios_xc_test = args[:ios_xc_test] if args.key?(:ios_xc_test)
|
2017-09-21 00:37:23 +00:00
|
|
|
@test_setup = args[:test_setup] if args.key?(:test_setup)
|
|
|
|
@test_timeout = args[:test_timeout] if args.key?(:test_timeout)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2019-10-23 00:36:47 +00:00
|
|
|
# Test targets for a shard.
|
|
|
|
class TestTargetsForShard
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Group of packages, classes, and/or test methods to be run for each shard. The
|
|
|
|
# targets need to be specified in AndroidJUnitRunner argument format. For
|
|
|
|
# example, "package com.my.packages" "class com.my.package.MyClass". The number
|
|
|
|
# of shard_test_targets must be greater than 0.
|
2019-10-23 00:36:47 +00:00
|
|
|
# Corresponds to the JSON property `testTargets`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :test_targets
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@test_targets = args[:test_targets] if args.key?(:test_targets)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Represents a tool results execution resource. This has the results of a
|
|
|
|
# TestMatrix.
|
2017-09-21 00:37:23 +00:00
|
|
|
class ToolResultsExecution
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. A tool results execution ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `executionId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :execution_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. A tool results history ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `historyId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :history_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The cloud project that owns the tool results execution.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@execution_id = args[:execution_id] if args.key?(:execution_id)
|
|
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
# Represents a tool results history resource.
|
|
|
|
class ToolResultsHistory
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. A tool results history ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `historyId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :history_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Required. The cloud project that owns the tool results history.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Represents a tool results step resource. This has the results of a
|
|
|
|
# TestExecution.
|
2017-09-21 00:37:23 +00:00
|
|
|
class ToolResultsStep
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. A tool results execution ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `executionId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :execution_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. A tool results history ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `historyId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :history_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. The cloud project that owns the tool results step.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `projectId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :project_id
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Output only. A tool results step ID.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `stepId`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :step_id
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@execution_id = args[:execution_id] if args.key?(:execution_id)
|
|
|
|
@history_id = args[:history_id] if args.key?(:history_id)
|
|
|
|
@project_id = args[:project_id] if args.key?(:project_id)
|
|
|
|
@step_id = args[:step_id] if args.key?(:step_id)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Network emulation parameters.
|
2017-09-21 00:37:23 +00:00
|
|
|
class TrafficRule
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Bandwidth in kbits/second.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `bandwidth`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :bandwidth
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Burst size in kbits.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `burst`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :burst
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Packet delay, must be >= 0.
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `delay`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :delay
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Packet duplication ratio (0.0 - 1.0).
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `packetDuplicationRatio`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :packet_duplication_ratio
|
|
|
|
|
2018-12-13 00:36:30 +00:00
|
|
|
# Packet loss ratio (0.0 - 1.0).
|
2017-09-21 00:37:23 +00:00
|
|
|
# Corresponds to the JSON property `packetLossRatio`
|
|
|
|
# @return [Float]
|
|
|
|
attr_accessor :packet_loss_ratio
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@bandwidth = args[:bandwidth] if args.key?(:bandwidth)
|
|
|
|
@burst = args[:burst] if args.key?(:burst)
|
|
|
|
@delay = args[:delay] if args.key?(:delay)
|
|
|
|
@packet_duplication_ratio = args[:packet_duplication_ratio] if args.key?(:packet_duplication_ratio)
|
|
|
|
@packet_loss_ratio = args[:packet_loss_ratio] if args.key?(:packet_loss_ratio)
|
|
|
|
end
|
|
|
|
end
|
2018-10-04 00:36:27 +00:00
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Uniformly shards test cases given a total number of shards. For
|
|
|
|
# Instrumentation test, it will be translated to "-e numShard" "-e shardIndex"
|
|
|
|
# AndroidJUnitRunner arguments. With uniform sharding enabled, specifying these
|
|
|
|
# sharding arguments via environment_variables is invalid.
|
2019-10-23 00:36:47 +00:00
|
|
|
class UniformSharding
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Required. Total number of shards. When any physical devices are selected, the
|
|
|
|
# number must be >= 1 and <= 50. When no physical devices are selected, the
|
2020-10-21 16:19:50 +00:00
|
|
|
# number must be >= 1 and <= 500.
|
2019-10-23 00:36:47 +00:00
|
|
|
# Corresponds to the JSON property `numShards`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :num_shards
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@num_shards = args[:num_shards] if args.key?(:num_shards)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-10-04 00:36:27 +00:00
|
|
|
# An Xcode version that an iOS version is compatible with.
|
|
|
|
class XcodeVersion
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# Tags for this Xcode version. Example: "default".
|
2018-10-04 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `tags`
|
|
|
|
# @return [Array<String>]
|
|
|
|
attr_accessor :tags
|
|
|
|
|
2020-08-07 00:38:13 +00:00
|
|
|
# The id for this version. Example: "9.2".
|
2018-10-04 00:36:27 +00:00
|
|
|
# Corresponds to the JSON property `version`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :version
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
|
|
|
@tags = args[:tags] if args.key?(:tags)
|
|
|
|
@version = args[:version] if args.key?(:version)
|
|
|
|
end
|
|
|
|
end
|
2017-09-21 00:37:23 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|