UNPKG

googleapis

Version:
1,188 lines (1,187 loc) 40 kB
/** * Copyright 2015 Google Inc. All Rights Reserved. * * 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. */ import { AxiosPromise } from 'axios'; import { GoogleApis } from '../..'; import { BodyResponseCallback, GlobalOptions, MethodOptions } from '../../lib/api'; /** * Cloud Testing API * * Allows developers to run automated tests for their mobile applications on * Google infrastructure. * * @example * const google = require('googleapis'); * const testing = google.testing('v1'); * * @namespace testing * @type {Function} * @version v1 * @variation v1 * @param {object=} options Options for Testing */ export declare class Testing { _options: GlobalOptions; google: GoogleApis; root: this; applicationDetailService: Resource$Applicationdetailservice; projects: Resource$Projects; testEnvironmentCatalog: Resource$Testenvironmentcatalog; constructor(options: GlobalOptions, google: GoogleApis); getRoot(): this; } /** * Identifies an account and how to log into it */ export interface Schema$Account { /** * An automatic google login account */ googleAuto: Schema$GoogleAuto; } /** * A single Android device. */ export interface Schema$AndroidDevice { /** * The id of the Android device to be used. Use the * EnvironmentDiscoveryService to get supported options. Required */ androidModelId: string; /** * The id of the Android OS version to be used. Use the * EnvironmentDiscoveryService to get supported options. Required */ androidVersionId: string; /** * The locale the test device used for testing. Use the * EnvironmentDiscoveryService to get supported options. Required */ locale: string; /** * How the device is oriented during the test. Use the * EnvironmentDiscoveryService to get supported options. Required */ orientation: string; } /** * The currently supported Android devices. */ export interface Schema$AndroidDeviceCatalog { /** * The set of supported Android device models. @OutputOnly */ models: Schema$AndroidModel[]; /** * The set of supported runtime configurations. @OutputOnly */ runtimeConfiguration: Schema$AndroidRuntimeConfiguration; /** * The set of supported Android OS versions. @OutputOnly */ versions: Schema$AndroidVersion[]; } /** * A list of Android device configurations in which the test is to be executed. */ export interface Schema$AndroidDeviceList { /** * A list of Android devices Required */ androidDevices: Schema$AndroidDevice[]; } /** * A test of an Android application that can control an Android component * 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 * &lt;http://developer.android.com/tools/testing/testing_android.html&gt; for * more information on types of Android tests. */ export interface Schema$AndroidInstrumentationTest { /** * The APK for the application under test. Required */ appApk: Schema$FileReference; /** * The java package for the application under test. Optional, default is * determined by examining the application&#39;s manifest. */ appPackageId: string; /** * The option of whether running each test within its own invocation of * 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 * &lt;https://developer.android.com/training/testing/junit-runner.html#using-android-test-orchestrator&gt; * for more information about Android Test Orchestrator. Optional, if empty, * test will be run without orchestrator. */ orchestratorOption: string; /** * The APK containing the test code to be executed. Required */ testApk: Schema$FileReference; /** * The java package for the test to be executed. Optional, default is * determined by examining the application&#39;s manifest. */ testPackageId: string; /** * The InstrumentationTestRunner class. Optional, default is determined by * examining the application&#39;s manifest. */ testRunnerClass: string; /** * Each target must be fully qualified with the package name or class name, in * one of these formats: - &quot;package package_name&quot; - &quot;class * package_name.class_name&quot; - &quot;class * package_name.class_name#method_name&quot; Optional, if empty, all targets * in the module will be run. */ testTargets: string[]; } /** * 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. */ export interface Schema$AndroidMatrix { /** * The ids of the set of Android device to be used. Use the * EnvironmentDiscoveryService to get supported options. Required */ androidModelIds: string[]; /** * The ids of the set of Android OS version to be used. Use the * EnvironmentDiscoveryService to get supported options. Required */ androidVersionIds: string[]; /** * The set of locales the test device will enable for testing. Use the * EnvironmentDiscoveryService to get supported options. Required */ locales: string[]; /** * The set of orientations to test with. Use the EnvironmentDiscoveryService * to get supported options. Required */ orientations: string[]; } /** * A description of an Android device tests may be run on. */ export interface Schema$AndroidModel { /** * The company that this device is branded with. Example: &quot;Google&quot;, * &quot;Samsung&quot; @OutputOnly */ brand: string; /** * The name of the industrial design. This corresponds to * android.os.Build.DEVICE @OutputOnly */ codename: string; /** * Whether this device is virtual or physical. @OutputOnly */ form: string; /** * The unique opaque id for this model. Use this for invoking the * TestExecutionService. @OutputOnly */ id: string; /** * The manufacturer of this device. @OutputOnly */ manufacturer: string; /** * The human-readable marketing name for this device model. Examples: * &quot;Nexus 5&quot;, &quot;Galaxy S5&quot; @OutputOnly */ name: string; /** * Screen density in DPI. This corresponds to ro.sf.lcd_density @OutputOnly */ screenDensity: number; /** * Screen size in the horizontal (X) dimension measured in pixels. @OutputOnly */ screenX: number; /** * Screen size in the vertical (Y) dimension measured in pixels. @OutputOnly */ screenY: number; /** * 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 * &quot;version_id:&quot; (where version_id is the id of an AndroidVersion), * denoting an ABI that is supported only on a particular version. @OutputOnly */ supportedAbis: string[]; /** * The set of Android versions this device supports. @OutputOnly */ supportedVersionIds: string[]; /** * Tags for this dimension. Examples: &quot;default&quot;, * &quot;preview&quot;, &quot;deprecated&quot; */ tags: string[]; /** * True if and only if tests with this model DO NOT have video output. See * also TestSpecification.disable_video_recording @OutputOnly */ videoRecordingNotSupported: boolean; } /** * A test of an android application that explores the application on a virtual * or physical Android Device, finding culprits and crashes as it goes. */ export interface Schema$AndroidRoboTest { /** * The APK for the application under test. Required */ appApk: Schema$FileReference; /** * The initial activity that should be used to start the app. Optional */ appInitialActivity: string; /** * The java package for the application under test. Optional, default is * determined by examining the application&#39;s manifest. */ appPackageId: string; /** * 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. * Optional */ maxDepth: number; /** * The max number of steps Robo can execute. Default is no limit. Optional */ maxSteps: number; /** * 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. Optional */ roboDirectives: Schema$RoboDirective[]; /** * A JSON file with a sequence of actions Robo should perform as a prologue * for the crawl. Optional */ roboScript: Schema$FileReference; /** * 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). */ startingIntents: Schema$RoboStartingIntent[]; } /** * Configuration that can be selected at the time a test is run. */ export interface Schema$AndroidRuntimeConfiguration { /** * The set of available locales. @OutputOnly */ locales: Schema$Locale[]; /** * The set of available orientations. @OutputOnly */ orientations: Schema$Orientation[]; } /** * A test of an Android Application with a Test Loop. The intent * &lt;intent-name&gt; will be implicitly added, since Games is the only user of * this api, for the time being. */ export interface Schema$AndroidTestLoop { /** * The APK for the application under test. Required */ appApk: Schema$FileReference; /** * The java package for the application under test. Optional, default is * determined by examining the application&#39;s manifest. */ appPackageId: string; /** * The list of scenario labels that should be run during the test. The * scenario labels should map to labels defined in the application&#39;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. Optional. Scenarios can also be specified in the scenarios * field. */ scenarioLabels: string[]; /** * The list of scenarios that should be run during the test. Optional, default * is all test loops, derived from the application&#39;s manifest. */ scenarios: number[]; } /** * A version of the Android OS */ export interface Schema$AndroidVersion { /** * The API level for this Android version. Examples: 18, 19 @OutputOnly */ apiLevel: number; /** * The code name for this Android version. Examples: &quot;JellyBean&quot;, * &quot;KitKat&quot; @OutputOnly */ codeName: string; /** * Market share for this version. @OutputOnly */ distribution: Schema$Distribution; /** * An opaque id for this Android version. Use this id to invoke the * TestExecutionService. @OutputOnly */ id: string; /** * The date this Android version became available in the market. @OutputOnly */ releaseDate: Schema$Date; /** * Tags for this dimension. Examples: &quot;default&quot;, * &quot;preview&quot;, &quot;deprecated&quot; */ tags: string[]; /** * A string representing this version of the Android OS. Examples: * &quot;4.3&quot;, &quot;4.4&quot; @OutputOnly */ versionString: string; } /** * An Android package file to install. */ export interface Schema$Apk { /** * The path to an APK to be installed on the device before the test begins. * Optional */ location: Schema$FileReference; /** * The java package for the APK to be installed. Optional, value is determined * by examining the application&#39;s manifest. */ packageName: string; } /** * Android application details based on application manifest and apk archive * contents */ export interface Schema$ApkDetail { apkManifest: Schema$ApkManifest; } /** * An Android app manifest. See * http://developer.android.com/guide/topics/manifest/manifest-intro.html */ export interface Schema$ApkManifest { /** * User-readable name for the application. */ applicationLabel: string; intentFilters: Schema$IntentFilter[]; /** * Maximum API level on which the application is designed to run. */ maxSdkVersion: number; /** * Minimum API level required for the application to run. */ minSdkVersion: number; /** * Full Java-style package name for this application, e.g. * &quot;com.example.foo&quot;. */ packageName: string; } /** * Response containing the current state of the specified test matrix. */ export interface Schema$CancelTestMatrixResponse { /** * The current rolled-up state of the test matrix. If this state is already * final, then the cancelation request will have no effect. */ testState: string; } /** * Information about the client which invoked the test. */ export interface Schema$ClientInfo { /** * The list of detailed information about client. */ clientInfoDetails: Schema$ClientInfoDetail[]; /** * Client name, such as gcloud. Required */ name: string; } /** * Key-value pair of detailed information about the client which invoked the * test. For example {&#39;Version&#39;, &#39;1.0&#39;}, {&#39;Release * Track&#39;, &#39;BETA&#39;} */ export interface Schema$ClientInfoDetail { /** * The key of detailed client information. Required */ key: string; /** * The value of detailed client information. Required */ value: string; } /** * Represents a whole calendar date, e.g. date of birth. The time of day and * time zone are either specified elsewhere or are not significant. The date is * relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a * year and month where the day is not significant, e.g. credit card expiration * date. The year may be 0 to represent a month and day independent of year, * e.g. anniversary date. Related types are google.type.TimeOfDay and * `google.protobuf.Timestamp`. */ export interface Schema$Date { /** * Day of month. Must be from 1 to 31 and valid for the year and month, or 0 * if specifying a year/month where the day is not significant. */ day: number; /** * Month of year. Must be from 1 to 12, or 0 if specifying a date without a * month. */ month: number; /** * Year of date. Must be from 1 to 9999, or 0 if specifying a date without a * year. */ year: number; } /** * A single device file description. */ export interface Schema$DeviceFile { /** * A reference to an opaque binary blob file */ obbFile: Schema$ObbFile; /** * A reference to a regular file */ regularFile: Schema$RegularFile; } /** * Data about the relative number of devices running a given configuration of * the Android platform. */ export interface Schema$Distribution { /** * The estimated fraction (0-1) of the total market with this configuration. * @OutputOnly */ marketShare: number; /** * The time this distribution was measured. @OutputOnly */ measurementTime: string; } /** * The environment in which the test is run. */ export interface Schema$Environment { /** * An Android device which must be used with an Android test. */ androidDevice: Schema$AndroidDevice; } /** * The matrix of environments in which the test is to be executed. */ export interface Schema$EnvironmentMatrix { /** * A list of Android devices; the test will be run only on the specified * devices. */ androidDeviceList: Schema$AndroidDeviceList; /** * A matrix of Android devices. */ androidMatrix: Schema$AndroidMatrix; } /** * A key-value pair passed as an environment variable to the test */ export interface Schema$EnvironmentVariable { /** * Key for the environment variable */ key: string; /** * Value for the environment variable */ value: string; } /** * A reference to a file, used for user inputs. */ export interface Schema$FileReference { /** * A path to a file in Google Cloud Storage. Example: * gs://build-app-1414623860166/app-debug-unaligned.apk */ gcsPath: string; } /** * Response containing the details of the specified Android application APK. */ export interface Schema$GetApkDetailsResponse { /** * Details of the Android APK. */ apkDetail: Schema$ApkDetail; } /** * Enables automatic Google account login. If set, the service will * automatically generate a Google test account and add 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. */ export interface Schema$GoogleAuto { } /** * A storage location within Google cloud storage (GCS). */ export interface Schema$GoogleCloudStorage { /** * 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. Required */ gcsPath: string; } /** * The &lt;intent-filter&gt; section of an &lt;activity&gt; tag. * https://developer.android.com/guide/topics/manifest/intent-filter-element.html */ export interface Schema$IntentFilter { /** * The android:name value of the &lt;action&gt; tag */ actionNames: string[]; /** * The android:name value of the &lt;category&gt; tag */ categoryNames: string[]; /** * The android:mimeType value of the &lt;data&gt; tag */ mimeType: string; } /** * Specifies an intent that starts the main launcher activity. */ export interface Schema$LauncherActivityIntent { } /** * A location/region designation for language. */ export interface Schema$Locale { /** * The id for this locale. Example: &quot;en_US&quot; @OutputOnly */ id: string; /** * A human-friendly name for this language/locale. Example: * &quot;English&quot; @OutputOnly */ name: string; /** * A human-friendly string representing the region for this locale. Example: * &quot;United States&quot; Not present for every locale. @OutputOnly */ region: string; /** * Tags for this dimension. Examples: &quot;default&quot; */ tags: string[]; } export interface Schema$NetworkConfiguration { /** * The emulation rule applying to the download traffic */ downRule: Schema$TrafficRule; /** * The unique opaque id for this network traffic configuration @OutputOnly */ id: string; /** * The emulation rule applying to the upload traffic */ upRule: Schema$TrafficRule; } export interface Schema$NetworkConfigurationCatalog { configurations: Schema$NetworkConfiguration[]; } /** * An opaque binary blob file to install on the device before the test starts */ export interface Schema$ObbFile { /** * Opaque Binary Blob (OBB) file(s) to install on the device Required */ obb: Schema$FileReference; /** * OBB file name which must conform to the format as specified by Android e.g. * [main|patch].0300110.com.example.android.obb which will be installed into * &lt;shared-storage&gt;/Android/obb/&lt;package-name&gt;/ on the device * Required */ obbFileName: string; } /** * Screen orientation of the device. */ export interface Schema$Orientation { /** * The id for this orientation. Example: &quot;portrait&quot; @OutputOnly */ id: string; /** * A human-friendly name for this orientation. Example: &quot;portrait&quot; * @OutputOnly */ name: string; /** * Tags for this dimension. Examples: &quot;default&quot; */ tags: string[]; } /** * A file or directory to install on the device before the test starts */ export interface Schema$RegularFile { /** * Required */ content: Schema$FileReference; /** * Where to put the content on the device. Must be an absolute, whitelisted * path. If the file exists, it will be replaced. The following device-side * directories and any of their subdirectories are whitelisted: * &lt;p&gt;${EXTERNAL_STORAGE}, or /sdcard&lt;/p&gt; * &lt;p&gt;${ANDROID_DATA}/local/tmp, or /data/local/tmp&lt;/p&gt; * &lt;p&gt;Specifying a path outside of these directory trees is invalid. * &lt;p&gt; 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. &lt;p&gt; It * is strongly advised to use the &lt;a href= * &quot;http://developer.android.com/reference/android/os/Environment.html&quot;&gt; * Environment API&lt;/a&gt; in app and test code to access files on the * device in a portable way. Required */ devicePath: string; } /** * Locations where the results of running the test are stored. */ export interface Schema$ResultStorage { /** * Required. */ googleCloudStorage: Schema$GoogleCloudStorage; /** * The tool results execution that results are written to. @OutputOnly */ toolResultsExecution: Schema$ToolResultsExecution; /** * The tool results history that contains the tool results execution that * results are written to. Optional, if not provided the service will choose * an appropriate value. */ toolResultsHistory: Schema$ToolResultsHistory; } /** * 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. */ export interface Schema$RoboDirective { /** * The type of action that Robo should perform on the specified element. * Required. */ actionType: string; /** * 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. Optional */ inputText: string; /** * 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 * Required */ resourceName: string; } /** * Message for specifying the start activities to crawl */ export interface Schema$RoboStartingIntent { launcherActivity: Schema$LauncherActivityIntent; startActivity: Schema$StartActivityIntent; } /** * A starting intent specified by an action, uri, and categories. */ export interface Schema$StartActivityIntent { /** * Action name. Required for START_ACTIVITY. */ action: string; /** * Intent categories to set on the intent. Optional. */ categories: string[]; /** * URI for the action. Optional. */ uri: string; } /** * Additional details about the progress of the running test. */ export interface Schema$TestDetails { /** * If the TestState is ERROR, then this string will contain human-readable * details about the error. @OutputOnly */ errorMessage: string; /** * Human-readable, detailed descriptions of the test&#39;s progress. For * example: &quot;Provisioning a device&quot;, &quot;Starting Test&quot;. * During the course of execution new data may be appended to the end of * progress_messages. @OutputOnly */ progressMessages: string[]; /** * Indicates that video will not be recorded for this execution either because * the user chose to disable it or the device does not support it. See * AndroidModel.video_recording_not_supported @OutputOnly */ videoRecordingDisabled: boolean; } /** * A description of a test environment. */ export interface Schema$TestEnvironmentCatalog { /** * Android devices suitable for running Android Instrumentation Tests. */ androidDeviceCatalog: Schema$AndroidDeviceCatalog; /** * Supported network configurations */ networkConfigurationCatalog: Schema$NetworkConfigurationCatalog; } /** * Specifies a single test to be executed in a single environment. */ export interface Schema$TestExecution { /** * How the host machine(s) are configured. @OutputOnly */ environment: Schema$Environment; /** * Unique id set by the backend. @OutputOnly */ id: string; /** * Id of the containing TestMatrix. @OutputOnly */ matrixId: string; /** * The cloud project that owns the test execution. @OutputOnly */ projectId: string; /** * Indicates the current progress of the test execution (e.g., FINISHED). * @OutputOnly */ state: string; /** * Additional details about the running test. @OutputOnly */ testDetails: Schema$TestDetails; /** * How to run the test. @OutputOnly */ testSpecification: Schema$TestSpecification; /** * The time this test execution was initially created. @OutputOnly */ timestamp: string; /** * Where the results for this execution are written. @OutputOnly */ toolResultsStep: Schema$ToolResultsStep; } /** * A group of one or more TestExecutions, built by taking a product of values * over a pre-defined set of axes. */ export interface Schema$TestMatrix { /** * Information about the client which invoked the test. Optional */ clientInfo: Schema$ClientInfo; /** * How the host machine(s) are configured. Required */ environmentMatrix: Schema$EnvironmentMatrix; /** * Describes why the matrix is considered invalid. Only useful for matrices in * the INVALID state. @OutputOnly */ invalidMatrixDetails: string; /** * The cloud project that owns the test matrix. @OutputOnly */ projectId: string; /** * Where the results for the matrix are written. Required */ resultStorage: Schema$ResultStorage; /** * Indicates the current progress of the test matrix (e.g., FINISHED) * @OutputOnly */ state: string; /** * The list of test executions that the service creates for this matrix. * @OutputOnly */ testExecutions: Schema$TestExecution[]; /** * Unique id set by the service. @OutputOnly */ testMatrixId: string; /** * How to run the test. Required */ testSpecification: Schema$TestSpecification; /** * The time this test matrix was initially created. @OutputOnly */ timestamp: string; } /** * A description of how to set up the Android device prior to running the test. */ export interface Schema$TestSetup { /** * The device will be logged in on this account for the duration of the test. * Optional */ account: Schema$Account; /** * APKs to install in addition to those being directly tested. Currently * capped at 100. Optional */ additionalApks: Schema$Apk[]; /** * List of directories on the device to upload to GCS at the end of the test; * they must be absolute paths under /sdcard 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. Optional */ directoriesToPull: string[]; /** * Environment variables to set for the test (only applicable for * instrumentation tests). */ environmentVariables: Schema$EnvironmentVariable[]; /** * List of files to push to the device before starting the test. Optional */ filesToPush: Schema$DeviceFile[]; /** * The network traffic profile used for running the test. Optional */ networkProfile: string; } /** * A description of how to run the test. */ export interface Schema$TestSpecification { /** * An Android instrumentation test. */ androidInstrumentationTest: Schema$AndroidInstrumentationTest; /** * An Android robo test. */ androidRoboTest: Schema$AndroidRoboTest; /** * An Android Application with a Test Loop */ androidTestLoop: Schema$AndroidTestLoop; /** * Enables automatic Google account login. If set, the service will * automatically generate a Google test account and add 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. Default is false. Optional */ autoGoogleLogin: boolean; /** * Disables performance metrics recording; may reduce test latency. */ disablePerformanceMetrics: boolean; /** * Disables video recording; may reduce test latency. */ disableVideoRecording: boolean; /** * Test setup requirements for Android e.g. files to install, bootstrap * scripts. Optional */ testSetup: Schema$TestSetup; /** * Max time a test execution is allowed to run before it is automatically * cancelled. Optional, default is 5 min. */ testTimeout: string; } /** * Represents a tool results execution resource. This has the results of a * TestMatrix. */ export interface Schema$ToolResultsExecution { /** * A tool results execution ID. @OutputOnly */ executionId: string; /** * A tool results history ID. @OutputOnly */ historyId: string; /** * The cloud project that owns the tool results execution. @OutputOnly */ projectId: string; } /** * Represents a tool results history resource. */ export interface Schema$ToolResultsHistory { /** * A tool results history ID. Required */ historyId: string; /** * The cloud project that owns the tool results history. Required */ projectId: string; } /** * Represents a tool results step resource. This has the results of a * TestExecution. */ export interface Schema$ToolResultsStep { /** * A tool results execution ID. @OutputOnly */ executionId: string; /** * A tool results history ID. @OutputOnly */ historyId: string; /** * The cloud project that owns the tool results step. @OutputOnly */ projectId: string; /** * A tool results step ID. @OutputOnly */ stepId: string; } /** * Network emulation parameters */ export interface Schema$TrafficRule { /** * Bandwidth in kbits/second */ bandwidth: number; /** * Burst size in kbits */ burst: number; /** * Packet delay, must be &gt;= 0 */ delay: string; /** * Packet duplication ratio (0.0 - 1.0) */ packetDuplicationRatio: number; /** * Packet loss ratio (0.0 - 1.0) */ packetLossRatio: number; } export declare class Resource$Applicationdetailservice { root: Testing; constructor(root: Testing); getRoot(): Testing; /** * testing.applicationDetailService.getApkDetails * @desc Request the details of an Android application APK. * @alias testing.applicationDetailService.getApkDetails * @memberOf! () * * @param {object} params Parameters for request * @param {().FileReference} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ getApkDetails(params?: any, options?: MethodOptions): AxiosPromise<Schema$GetApkDetailsResponse>; getApkDetails(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$GetApkDetailsResponse>, callback?: BodyResponseCallback<Schema$GetApkDetailsResponse>): void; } export declare class Resource$Projects { root: Testing; testMatrices: Resource$Projects$Testmatrices; constructor(root: Testing); getRoot(): Testing; } export declare class Resource$Projects$Testmatrices { root: Testing; constructor(root: Testing); getRoot(): Testing; /** * testing.projects.testMatrices.cancel * @desc Cancels unfinished test executions in a test matrix. This call * returns immediately and cancellation proceeds asychronously. If the matrix * is already final, this operation will have no effect. May return any of * the following canonical error codes: - PERMISSION_DENIED - if the user is * not authorized to read project - INVALID_ARGUMENT - if the request is * malformed - NOT_FOUND - if the Test Matrix does not exist * @alias testing.projects.testMatrices.cancel * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.projectId Cloud project that owns the test. * @param {string} params.testMatrixId Test matrix that will be canceled. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ cancel(params?: any, options?: MethodOptions): AxiosPromise<Schema$CancelTestMatrixResponse>; cancel(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$CancelTestMatrixResponse>, callback?: BodyResponseCallback<Schema$CancelTestMatrixResponse>): void; /** * testing.projects.testMatrices.create * @desc Request to run a matrix of tests according to the given * specifications. Unsupported environments will be returned in the state * UNSUPPORTED. Matrices are limited to at most 200 supported executions. May * return any of the following canonical error codes: - PERMISSION_DENIED - * if the user is not authorized to write to project - INVALID_ARGUMENT - if * the request is malformed or if the matrix expands to * more than 200 supported executions * @alias testing.projects.testMatrices.create * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.projectId The GCE project under which this job will run. * @param {string=} params.requestId A string id used to detect duplicated requests. Ids are automatically scoped to a project, so users should ensure the ID is unique per-project. A UUID is recommended. Optional, but strongly recommended. * @param {().TestMatrix} params.resource Request body data * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ create(params?: any, options?: MethodOptions): AxiosPromise<Schema$TestMatrix>; create(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$TestMatrix>, callback?: BodyResponseCallback<Schema$TestMatrix>): void; /** * testing.projects.testMatrices.get * @desc Check the status of a test matrix. May return any of the following * canonical error codes: - PERMISSION_DENIED - if the user is not authorized * to read project - INVALID_ARGUMENT - if the request is malformed - * NOT_FOUND - if the Test Matrix does not exist * @alias testing.projects.testMatrices.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.projectId Cloud project that owns the test matrix. * @param {string} params.testMatrixId Unique test matrix id which was assigned by the service. * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$TestMatrix>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$TestMatrix>, callback?: BodyResponseCallback<Schema$TestMatrix>): void; } export declare class Resource$Testenvironmentcatalog { root: Testing; constructor(root: Testing); getRoot(): Testing; /** * testing.testEnvironmentCatalog.get * @desc Get the catalog of supported test environments. May return any of * the following canonical error codes: - INVALID_ARGUMENT - if the request * is malformed - NOT_FOUND - if the environment type does not exist - * INTERNAL - if an internal error occurred * @alias testing.testEnvironmentCatalog.get * @memberOf! () * * @param {object} params Parameters for request * @param {string} params.environmentType The type of environment that should be listed. Required * @param {string=} params.projectId For authorization, the cloud project requesting the TestEnvironmentCatalog. Optional * @param {object} [options] Optionally override request options, such as `url`, `method`, and `encoding`. * @param {callback} callback The callback that handles the response. * @return {object} Request object */ get(params?: any, options?: MethodOptions): AxiosPromise<Schema$TestEnvironmentCatalog>; get(params?: any, options?: MethodOptions | BodyResponseCallback<Schema$TestEnvironmentCatalog>, callback?: BodyResponseCallback<Schema$TestEnvironmentCatalog>): void; }