diff --git a/apis/rdc.json b/apis/rdc.json deleted file mode 100644 index 620f3295..00000000 --- a/apis/rdc.json +++ /dev/null @@ -1,2665 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "TestObject provides access to devices, Appium, storage and your session history via REST API.

API endpoints requiring authentication use basic authentication. For endpoints requiring \"API Key\" authentication, the basic authentication should contain your username and have your project's API key as the password. For endpoints requiring \"Password\" authentication, the basic authentication should contain your username and password. All endpoints in Appium Suites API require basic authentication with the API Key as the username and the password left blank. Please note that the Appium Watcher API does not require basic authentication.

The base URL for the API is https://app.testobject.com/api/rest/", - "version": "1.0.0", - "title": "API Reference" - }, - "servers": [ - { - "url": "https://app.testobject.com", - "variables": {} - } - ], - "host": "app.testobject.com", - "basePath": "/api/rest", - "tags": [ - { - "name": "Appium Suites API" - }, - { - "name": "Appium Suites API V1 (Deprecated)" - }, - { - "name": "Devices API" - }, - { - "name": "Storage API" - }, - { - "name": "Appium Watcher API V1 (Deprecated)" - }, - { - "name": "Test Reports API" - }, - { - "name": "Screenshots API" - }, - { - "name": "Devices API V1 (Deprecated)" - }, - { - "name": "Session Reports API" - }, - { - "name": "Session Video API" - }, - { - "name": "Appium Watcher API" - }, - { - "name": "Suite Reports API" - }, - { - "name": "Logs API" - } - ], - "schemes": ["https"], - "paths": { - "/storage/upload": { - "post": { - "tags": ["Storage API"], - "summary": "Upload App (APK or IPA)", - "description": "Returns new application id after the upload.", - "operationId": "uploadApp", - "produces": ["text/plain"], - "parameters": [ - { - "name": "App-Type", - "in": "header", - "description": "Application type", - "required": false, - "type": "string" - }, - { - "name": "App-Identifier", - "in": "header", - "description": "Your custom unique identifier for your app", - "required": false, - "type": "string" - }, - { - "name": "App-DisplayName", - "in": "header", - "description": "Your custom display name", - "required": false, - "type": "string" - }, - { - "name": "App-Active", - "in": "header", - "description": "If true makes uploaded application active one", - "required": false, - "type": "boolean" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/InputStream" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "string" - } - } - } - } - }, - "/v1/appium/session/{sessionId}/skiptest": { - "put": { - "tags": ["Appium Watcher API V1 (Deprecated)"], - "deprecated": true, - "summary": "Skip Test Report", - "description": "Report the result of a test as skipped.", - "operationId": "markTestAsSkipped", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "sessionId", - "in": "path", - "description": "The Appium session id of your test", - "required": true, - "type": "string" - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - }, - "/v1/appium/session/{sessionId}/test": { - "put": { - "tags": ["Appium Watcher API V1 (Deprecated)"], - "deprecated": true, - "summary": "Report Test Result", - "description": "Report the result of a test.", - "operationId": "updateTest", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "sessionId", - "in": "path", - "description": "The Appium session id of your test", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiTestStatus" - } - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - }, - "/v1/appium/suites/{batchId}": { - "put": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Update Suite", - "description": "Updates the properties of a suite.", - "operationId": "updateSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiSuiteV1" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuite" - } - } - } - } - }, - "/v1/appium/suites/{batchId}/deviceIds": { - "get": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Read Device IDs", - "description": "Returns the IDs of the devices which you had selected for the specified suite.", - "operationId": "readDeviceIds", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - } - }, - "/v1/appium/suites/{batchId}/reports/start": { - "post": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Start Suite Execution", - "description": "Start a new suite execution including its test executions.", - "operationId": "startSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "appId", - "in": "query", - "description": "The ID of the app version you wish to test", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApiTestV1" - } - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuiteReport" - } - } - } - } - }, - "/v1/appium/suites/{batchId}/reports/{batchReportId}/finish": { - "put": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Finish Suite Execution", - "description": "Marks all test executions contained in the specified suite execution as finished.", - "operationId": "finishSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "batchReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuiteReport" - } - } - } - } - }, - "/v1/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/finish": { - "put": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Finish Test Execution", - "description": "Sets the status of the specific test execution and marks it as finished.", - "operationId": "finishTestReport", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "suiteReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "testReportId", - "in": "path", - "description": "The ID of this test execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiTestStatus" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiTestReport" - } - } - } - } - }, - "/v1/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/skip": { - "put": { - "tags": ["Appium Suites API V1 (Deprecated)"], - "deprecated": true, - "summary": "Skip Test Execution", - "description": "Mark test execution as skipped", - "operationId": "skipTestReport", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "suiteReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "testReportId", - "in": "path", - "description": "The ID of this test execution", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiTestReport" - } - } - } - } - }, - "/v1/devices": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get All Devices", - "description": "Returns a list containing all devices, including those not currently available for testing", - "operationId": "getDescriptors", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/DeviceDescriptor" - } - } - } - } - } - }, - "/v1/devices/all": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get All Devices", - "description": "Returns a list containing all devices, including those not currently unavailable for testing.\nThis endpoint requires API Key authentication and will also return your private devices.", - "operationId": "getDescriptorsApi", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/DeviceDescriptor" - } - } - } - } - } - }, - "/v1/devices/all/available": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get Available Devices", - "description": "Returns a list containing the IDs of all devices currently available for testing.\nThis endpoint requires API Key authentication and will also return your private devices.", - "operationId": "getAvailableDescriptorIdsApi", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - } - }, - "/v1/devices/available": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get Available Devices", - "description": "Returns a list containing the IDs of all devices currently available for testing", - "operationId": "getAvailableDescriptorIds", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - } - }, - "/v1/devices/reports": { - "get": { - "tags": ["Session Reports API"], - "summary": "Get Session History Reports", - "description": "The session history reports provide information about user sessions. This includes device usage and test reports. By default reports of the last 30 days will be retrieved - limited to a maximum of 50 reports.\nIf the authenticated user is the owner of the account, session reports of the entire team will be retrieved. Team members can only retrieve their own session history. This endpoint requires Password authentication.", - "operationId": "getSessionReports", - "produces": ["application/json"], - "parameters": [ - { - "name": "userId", - "in": "query", - "description": "Your username.", - "required": false, - "type": "string" - }, - { - "name": "lastDays", - "in": "query", - "description": "Number of days to report", - "required": false, - "type": "integer", - "default": 30, - "format": "int32" - }, - { - "name": "offset", - "in": "query", - "description": "Offset for pagination", - "required": false, - "type": "integer", - "default": 1, - "format": "int32" - }, - { - "name": "limit", - "in": "query", - "description": "Max number of results per page", - "required": false, - "type": "integer", - "default": 50, - "format": "int32" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/PaginationResultSessionReport" - } - } - } - } - }, - "/v1/devices/{deviceDescriptorId}": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get Device", - "description": "Returns information for a particular device.\nThis endpoint requires API Key authentication.", - "operationId": "getDescriptor", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deviceId", - "in": "path", - "description": "The ID of the device", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/DeviceDescriptor" - } - } - } - } - }, - "/v1/devices/{deviceDescriptorId}/status": { - "get": { - "tags": ["Devices API V1 (Deprecated)"], - "deprecated": true, - "summary": "Get Device Status", - "description": "Returns a list containing device status infos for all device instances with the specified device ID on all pools.\nThis endpoint requires API Key authentication and will also return your private devices.", - "operationId": "getDeviceStatusInfos", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "deviceId", - "in": "path", - "description": "The ID of the device", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/DeviceStatusInfo" - } - } - } - } - } - }, - "/v2/appium/session/{sessionId}/skiptest": { - "put": { - "tags": ["Appium Watcher API"], - "summary": "Skip Test Report", - "description": "Report the result of a test as skipped.", - "operationId": "markTestAsSkipped", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "sessionId", - "in": "path", - "description": "The Appium session ID of your test", - "required": true, - "type": "string" - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - }, - "/v2/appium/session/{sessionId}/test": { - "put": { - "tags": ["Appium Watcher API"], - "summary": "Report Test Result", - "description": "Report the result of a test.", - "operationId": "updateTest", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "sessionId", - "in": "path", - "description": "The Appium session ID of your test", - "required": true, - "type": "string" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiTestStatus" - } - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - }, - "/v2/appium/suites/{batchId}": { - "put": { - "tags": ["Appium Suites API"], - "summary": "Update Suite", - "description": "Updates the properties of a suite.", - "operationId": "updateSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiSuiteV2" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuite" - } - } - } - } - }, - "/v2/appium/suites/{batchId}/deviceIds": { - "get": { - "tags": ["Appium Suites API"], - "summary": "Read Device IDs", - "description": "Returns the IDs of the devices which you had selected for the specified suite.", - "operationId": "readDeviceIds", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - } - }, - "/v2/appium/suites/{batchId}/reports/start": { - "post": { - "tags": ["Appium Suites API"], - "summary": "Start Suite Execution", - "description": "Start a new suite execution including its test executions.", - "operationId": "startSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "appId", - "in": "query", - "description": "The ID of the app version you wish to test", - "required": false, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ApiTestV2" - } - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuiteReport" - } - } - } - } - }, - "/v2/appium/suites/{batchId}/reports/{batchReportId}/finish": { - "put": { - "tags": ["Appium Suites API"], - "summary": "Finish Suite Execution", - "description": "Marks all test executions contained in the specified suite execution as finished.", - "operationId": "finishSuite", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "batchReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiSuiteReport" - } - } - } - } - }, - "/v2/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/finish": { - "put": { - "tags": ["Appium Suites API"], - "summary": "Finish Test Execution", - "description": "Sets the status of the specific test execution and marks it as finished.", - "operationId": "finishTestReport", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "suiteReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "testReportId", - "in": "path", - "description": "The ID of this test execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiTestStatus" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiTestReport" - } - } - } - } - }, - "/v2/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/skip": { - "put": { - "tags": ["Appium Suites API"], - "summary": "Skip Test Execution", - "description": "Mark test execution as skipped", - "operationId": "skipTestReport", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "suiteId", - "in": "path", - "description": "The ID of the suite", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "suiteReportId", - "in": "path", - "description": "The ID of this suite execution", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "testReportId", - "in": "path", - "description": "The ID of this test execution", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/ApiTestReport" - } - } - } - } - }, - "/v2/batchReports/{batchReportId}": { - "get": { - "tags": ["Suite Reports API"], - "summary": "Get Suite Test Report", - "description": "Returns the test report of a suite", - "operationId": "readBatchReport", - "produces": ["application/json"], - "parameters": [ - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/BatchReport" - } - } - } - } - }, - "/v2/batchReports/{batchReportId}/xml": { - "get": { - "tags": ["Suite Reports API"], - "summary": "Get Suite Test Report", - "description": "Returns the test report of a suite as XML", - "operationId": "junitStyleXmlReport", - "produces": ["application/xml"], - "parameters": [ - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "integer", - "format": "int64" - } - }, - { - "in": "body", - "name": "body", - "required": false, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/JunitXMLReport" - } - } - } - } - }, - "/v2/devices": { - "get": { - "tags": ["Devices API"], - "summary": "Get All Devices", - "description": "Returns a list per data center containing all devices, including private devices and those not currently available for testing. This endpoint requires API Key authentication.", - "operationId": "getDescriptors", - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "object", - "additionalProperties": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/DeviceDescriptor" - } - } - } - } - } - } - }, - "/v2/devices/available": { - "get": { - "tags": ["Devices API"], - "summary": "Get Available Devices", - "description": "Returns a list per data center containing the IDs of all devices currently available for testing, including private devices. This endpoint requires API Key authentication.", - "operationId": "getAvailableDescriptorIds", - "produces": ["application/json"], - "parameters": [], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "object", - "additionalProperties": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - } - } - }, - "/v2/devices/{deviceDescriptorId}": { - "get": { - "tags": ["Devices API"], - "summary": "Get Device", - "description": "Returns information for a particular device per data center. This endpoint requires API Key authentication.", - "operationId": "getDescriptor", - "produces": ["application/json"], - "parameters": [ - { - "name": "deviceId", - "in": "path", - "description": "The ID of the device", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/DeviceDescriptor" - } - } - } - } - } - }, - "/v2/logs/{testReportId}/appium": { - "get": { - "tags": ["Logs API"], - "summary": "Download Appium Log", - "description": "Returns Appium log for the specified test report", - "operationId": "readAppiumLog", - "produces": ["application/json"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "description": "The ID of the test report", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/StreamingOutput" - } - } - } - } - }, - "/v2/logs/{testReportId}/device": { - "get": { - "tags": ["Logs API"], - "summary": "Download Device Log", - "description": "Returns device log for the specified test report", - "operationId": "readDeviceLog", - "produces": ["application/json"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "description": "The ID of the test report", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/StreamingOutput" - } - } - } - } - }, - "/v2/logs/{testReportId}/vitals": { - "get": { - "tags": ["Logs API"], - "summary": "Download Vitals Log", - "description": "Returns device vitals of a test session after completion", - "operationId": "readVitalsLog", - "produces": ["text/csv"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "description": "The ID of the test report", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/StreamingOutput" - } - } - } - } - }, - "/v2/logs/{testReportId}/xcuitest": { - "get": { - "tags": ["Logs API"], - "summary": "Download XCUITest Log", - "description": "Returns XCUITest log for the specified test report", - "operationId": "readXcuiTestLog", - "produces": ["application/json"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "description": "The ID of the test report", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/StreamingOutput" - } - } - } - } - }, - "/v2/reports/{testReportId}": { - "get": { - "tags": ["Test Reports API"], - "summary": "Get Test Report", - "description": "Returns test report and artifacts for a test session after completion", - "operationId": "readReport", - "consumes": ["application/json"], - "produces": ["application/json"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "description": "The test report ID from the test session", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "200": { - "description": "successful operation", - "schema": { - "$ref": "#/definitions/TestReportWithArtifacts" - } - } - } - } - }, - "/v2/screenshots/{testReportId}/{screenshotId}.png": { - "get": { - "tags": ["Screenshots API"], - "summary": "Download Screenshot", - "description": "Returns a PNG screenshot from a test", - "operationId": "getScreenshot", - "produces": ["image/png"], - "parameters": [ - { - "name": "testReportId", - "in": "path", - "required": true, - "type": "integer", - "format": "int64" - }, - { - "name": "screenshotId", - "in": "path", - "required": true, - "type": "integer", - "format": "int64" - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - }, - "/v2/video/{videoId}.mp4": { - "get": { - "tags": ["Session Video API"], - "summary": "Get Screen Recording", - "description": "Returns screen recording of a test session after completion", - "operationId": "getScreenRecording", - "produces": ["video/mp4"], - "parameters": [ - { - "name": "videoId", - "in": "path", - "description": "The video ID of the recording from the test report", - "required": true, - "type": "string" - }, - { - "name": "Range", - "in": "header", - "required": false, - "type": "string" - } - ], - "responses": { - "default": { - "description": "successful operation" - } - } - } - } - }, - "definitions": { - "PaginationSettings": { - "type": "object", - "properties": { - "offset": { - "type": "integer", - "format": "int32" - }, - "limit": { - "type": "integer", - "format": "int32" - }, - "searchTerm": { - "type": "string" - }, - "sortDirection": { - "type": "string", - "enum": ["ASCENDING", "DESCENDING"] - } - } - }, - "ApiSuiteV2": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "title": { - "type": "string", - "readOnly": true - }, - "appVersionId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "frameworkVersion": { - "type": "string", - "readOnly": true - }, - "deviceIds": { - "type": "object", - "readOnly": true, - "additionalProperties": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - } - }, - "Entity": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "url": { - "type": "string", - "format": "url" - } - } - }, - "ApiSuiteV1": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "title": { - "type": "string", - "readOnly": true - }, - "appVersionId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "frameworkVersion": { - "type": "string", - "readOnly": true - }, - "deviceIds": { - "type": "array", - "readOnly": true, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - } - }, - "AppiumTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "className": { - "type": "string" - }, - "sessionId": { - "type": "string" - }, - "vitalsLogRecordingEnabled": { - "type": "boolean", - "default": false - }, - "optionalSharedId": { - "$ref": "#/definitions/SharedLiveViewId" - }, - "hasWdaLogs": { - "type": "boolean", - "default": false - } - } - } - ] - }, - "ReportKey": { - "type": "object", - "properties": { - "testId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "deviceId": { - "readOnly": true, - "$ref": "#/definitions/Id" - } - } - }, - "StreamingOutput": { - "type": "object" - }, - "ApiTestReport": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "test": { - "readOnly": true, - "$ref": "#/definitions/ApiTest" - } - } - }, - "PaginationResultSessionReport": { - "type": "object", - "properties": { - "entities": { - "type": "array", - "items": { - "$ref": "#/definitions/SessionReport" - } - }, - "metaData": { - "$ref": "#/definitions/PaginationSettings" - } - } - }, - "RobotiumTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "screenshots": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "stackTrace": { - "type": "string" - }, - "className": { - "type": "string" - }, - "errorMessage": { - "type": "string" - } - } - } - ] - }, - "TestReportWithArtifacts": { - "type": "object", - "properties": { - "report": { - "$ref": "#/definitions/TestReport" - }, - "deviceContextId": { - "type": "string" - }, - "testResult": { - "type": "string", - "format": "url" - }, - "screenshots": { - "type": "array", - "items": { - "$ref": "#/definitions/Entity" - } - }, - "video": { - "$ref": "#/definitions/Entity" - }, - "deviceLog": { - "type": "string", - "format": "url" - }, - "frameworkLog": { - "type": "string", - "format": "url" - }, - "vitalsLog": { - "type": "string", - "format": "url" - } - } - }, - "WebdriverBatchReport": { - "allOf": [ - { - "$ref": "#/definitions/BatchReport" - }, - { - "type": "object", - "properties": { - "automationFramework": { - "type": "string", - "enum": ["APPIUM", "TENKOD", "PIRANHA"] - }, - "appUnderTestId": { - "$ref": "#/definitions/Id" - } - } - } - ] - }, - "TestSuite": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "testsuiteStartedAt": { - "$ref": "#/definitions/Instant" - }, - "testsuiteFinishedAt": { - "$ref": "#/definitions/Instant" - }, - "runCount": { - "type": "integer", - "format": "int32" - }, - "withFailures": { - "type": "integer", - "format": "int32" - }, - "unexpected": { - "type": "integer", - "format": "int32" - }, - "testDuration": { - "$ref": "#/definitions/Duration" - }, - "totalDuration": { - "$ref": "#/definitions/Duration" - } - } - }, - "TestReportView": { - "type": "object", - "properties": { - "reportId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "status": { - "type": "string", - "enum": [ - "UNKNOWN", - "SUCCESS", - "WARNING", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - } - } - }, - "DeviceStatusInfo": { - "type": "object", - "properties": { - "poolId": { - "$ref": "#/definitions/Id" - }, - "deviceId": { - "$ref": "#/definitions/Id" - }, - "status": { - "type": "string", - "enum": [ - "AVAILABLE", - "IN_USE", - "REBOOTING", - "BROKEN", - "OFFLINE", - "UNPLUGGED" - ] - } - } - }, - "ApiSuiteReport": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "testReports": { - "type": "array", - "readOnly": true, - "uniqueItems": true, - "items": { - "$ref": "#/definitions/ApiTestReport" - } - } - } - }, - "ApiTestV2": { - "type": "object", - "properties": { - "className": { - "type": "string", - "readOnly": true - }, - "methodName": { - "type": "string", - "readOnly": true - }, - "deviceId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "dataCenterId": { - "readOnly": true, - "$ref": "#/definitions/Id" - } - } - }, - "Instant": { - "type": "object", - "properties": { - "epochSecond": { - "type": "integer", - "format": "int64" - }, - "nano": { - "type": "integer", - "format": "int32" - } - } - }, - "ApiTestV1": { - "type": "object", - "properties": { - "className": { - "type": "string", - "readOnly": true - }, - "methodName": { - "type": "string", - "readOnly": true - }, - "deviceId": { - "readOnly": true, - "$ref": "#/definitions/Id" - } - } - }, - "Duration": { - "type": "object", - "properties": { - "seconds": { - "type": "integer", - "format": "int64" - }, - "zero": { - "type": "boolean", - "default": false - }, - "negative": { - "type": "boolean", - "default": false - }, - "units": { - "type": "array", - "items": { - "$ref": "#/definitions/TemporalUnit" - } - }, - "nano": { - "type": "integer", - "format": "int32" - } - } - }, - "TestCaseGroup": { - "type": "object", - "properties": { - "className": { - "type": "string" - }, - "testCases": { - "type": "array", - "items": { - "$ref": "#/definitions/TestCase" - } - } - } - }, - "PiranhaTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "className": { - "type": "string" - }, - "optionalSharedId": { - "$ref": "#/definitions/SharedLiveViewId" - } - } - } - ] - }, - "ApiTest": { - "type": "object", - "properties": { - "deviceId": { - "$ref": "#/definitions/Id" - }, - "dataCenterId": { - "$ref": "#/definitions/Id" - }, - "className": { - "type": "string" - }, - "methodName": { - "type": "string" - } - } - }, - "ApiTestStatus": { - "type": "object", - "properties": { - "passed": { - "type": "boolean", - "readOnly": true, - "default": false - } - } - }, - "ReportEntry": { - "type": "object", - "properties": { - "key": { - "readOnly": true, - "$ref": "#/definitions/ReportKey" - }, - "view": { - "readOnly": true, - "$ref": "#/definitions/TestReportView" - } - } - }, - "Id": { - "type": "object" - }, - "TestReport": { - "type": "object", - "discriminator": "type", - "properties": { - "projectPath": { - "$ref": "#/definitions/Path" - }, - "id": { - "$ref": "#/definitions/Id" - }, - "uuid": { - "$ref": "#/definitions/Uuid" - }, - "batchId": { - "$ref": "#/definitions/Id" - }, - "batchName": { - "type": "string" - }, - "testId": { - "$ref": "#/definitions/Id" - }, - "testName": { - "type": "string" - }, - "appVersionId": { - "type": "integer", - "format": "int64" - }, - "appVersionName": { - "type": "string" - }, - "startTime": { - "type": "integer", - "format": "int64" - }, - "duration": { - "type": "integer", - "format": "int64" - }, - "networkSpeed": { - "type": "string", - "enum": ["FULL", "GSM", "HDCSD", "GPRS", "EDGE", "UMTS", "HSDPA"] - }, - "deviceDescriptor": { - "$ref": "#/definitions/DeviceDescriptor" - }, - "videoId": { - "$ref": "#/definitions/Id" - }, - "running": { - "type": "boolean", - "default": false - }, - "systemError": { - "type": "string" - }, - "testResultStatus": { - "type": "string", - "enum": [ - "UNDEFINED", - "WARNING", - "OK", - "ERROR", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - }, - "dataCenterId": { - "$ref": "#/definitions/Id" - }, - "tunnelIdentifier": { - "type": "string" - }, - "tunnelId": { - "type": "string" - }, - "remoteAppFileUrl": { - "type": "string" - }, - "phoneNumber": { - "$ref": "#/definitions/PhoneNumber" - }, - "sharedLinkCode": { - "type": "string" - }, - "systemErrorType": { - "type": "string" - }, - "automationBackend": { - "type": "string" - }, - "status": { - "type": "string", - "enum": [ - "UNKNOWN", - "SUCCESS", - "WARNING", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - }, - "withSystemError": { - "type": "boolean", - "default": false - }, - "type": { - "type": "string" - } - } - }, - "ApiSuite": { - "type": "object", - "properties": { - "frameworkVersion": { - "type": "string" - }, - "deviceIds": { - "type": "object", - "additionalProperties": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - } - }, - "appVersionId": { - "$ref": "#/definitions/Id" - }, - "title": { - "type": "string" - }, - "id": { - "$ref": "#/definitions/Id" - } - } - }, - "Step": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "line": { - "type": "integer", - "format": "int32" - }, - "method": { - "type": "string" - }, - "hasReplayImage": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "recordedImage": { - "$ref": "#/definitions/Id" - }, - "resolvedPosition": { - "$ref": "#/definitions/Point" - }, - "orientation": { - "type": "string", - "enum": ["PORTRAIT", "LANDSCAPE"] - }, - "warning": { - "$ref": "#/definitions/ScriptWarning" - }, - "error": { - "$ref": "#/definitions/ScriptError" - }, - "status": { - "type": "string", - "enum": [ - "UNKNOWN", - "SUCCESS", - "WARNING", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - } - } - }, - "QualityReportTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "steps": { - "type": "array", - "items": { - "$ref": "#/definitions/Step" - } - } - } - } - ] - }, - "JunitXMLReport": { - "type": "object", - "properties": { - "name": { - "type": "string", - "xml": { - "attribute": true - } - } - }, - "xml": { - "name": "testsuite" - } - }, - "ScriptError": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "info": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "SessionReport": { - "type": "object", - "properties": { - "id": { - "$ref": "#/definitions/Id" - }, - "projectId": { - "$ref": "#/definitions/Id" - }, - "userId": { - "$ref": "#/definitions/Id" - }, - "deviceDescriptorId": { - "$ref": "#/definitions/Id" - }, - "usage": { - "type": "string", - "enum": [ - "MANUAL", - "BATCH", - "APPIUM", - "PIRANHA", - "XCUITEST", - "ANDROID_INSTRUMENTATION" - ] - }, - "appId": { - "$ref": "#/definitions/Id" - }, - "frameworkAppId": { - "$ref": "#/definitions/Id" - }, - "testFrameworkType": { - "type": "string" - }, - "testFrameworkVersion": { - "type": "string" - }, - "testReportIds": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - }, - "testIds": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/Id" - } - }, - "batchId": { - "type": "integer", - "format": "int64" - }, - "startDateTime": { - "type": "string", - "format": "date-time" - }, - "endDateTime": { - "type": "string", - "format": "date-time" - }, - "durationInSeconds": { - "type": "integer", - "format": "int64" - } - } - }, - "DeviceView": { - "type": "object", - "properties": { - "dataCenterId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "deviceDescriptor": { - "readOnly": true, - "$ref": "#/definitions/DeviceDescriptor" - } - } - }, - "TestError": { - "type": "object", - "properties": { - "file": { - "type": "string", - "readOnly": true - }, - "lineNumber": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "error": { - "type": "string", - "readOnly": true - } - } - }, - "EspressoTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "screenshots": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "stackTrace": { - "type": "string" - }, - "className": { - "type": "string" - }, - "errorMessage": { - "type": "string" - } - } - } - ] - }, - "Path": { - "type": "object", - "properties": { - "first": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "second": { - "readOnly": true, - "$ref": "#/definitions/Id" - } - } - }, - "SharedLiveViewId": { - "type": "object" - }, - "TemporalUnit": { - "type": "object", - "properties": { - "dateBased": { - "type": "boolean", - "default": false - }, - "durationEstimated": { - "type": "boolean", - "default": false - }, - "duration": { - "$ref": "#/definitions/Duration" - }, - "timeBased": { - "type": "boolean", - "default": false - } - } - }, - "InputStream": { - "type": "object" - }, - "DeviceDescriptor": { - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "name": { - "type": "string", - "readOnly": true - }, - "modelNumber": { - "type": "string", - "readOnly": true - }, - "manufacturer": { - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } - }, - "isArm": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "hasOnScreenButtons": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "abiType": { - "type": "string", - "readOnly": true - }, - "os": { - "type": "string", - "readOnly": true, - "enum": ["ANDROID", "IOS"] - }, - "osVersion": { - "type": "string", - "readOnly": true - }, - "apiLevel": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "screenSize": { - "type": "number", - "format": "double", - "readOnly": true - }, - "resolutionWidth": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "resolutionHeight": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "dpi": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "pixelsPerPoint": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "isTablet": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "internalOrientation": { - "type": "string", - "readOnly": true, - "enum": ["PORTRAIT", "LANDSCAPE"] - }, - "defaultOrientation": { - "type": "string", - "readOnly": true, - "enum": ["PORTRAIT", "LANDSCAPE"] - }, - "ramSize": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "internalStorageSize": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "sdCardSize": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "cpuCores": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "cpuFrequency": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "supportsMockLocations": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsAppiumWebAppTesting": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "isKeyGuardDisabled": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "isRooted": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "isPrivate": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsGlobalProxy": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsMinicapSocketConnection": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "disableMtp": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "deviceFamily": { - "type": "string", - "enum": ["ANY", "IPHONE", "IPAD"] - }, - "cpuType": { - "type": "string", - "enum": ["ARM", "X86"] - }, - "dpiName": { - "type": "string", - "readOnly": true - }, - "supportsManualWebTesting": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsXcuiTest": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsMultiTouch": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "isAlternativeIoEnabled": { - "type": "boolean", - "readOnly": true, - "default": false - }, - "supportsQualityReport": { - "type": "boolean", - "readOnly": true, - "default": false - } - } - }, - "Point": { - "type": "object", - "properties": { - "x": { - "type": "integer", - "format": "int32", - "readOnly": true - }, - "y": { - "type": "integer", - "format": "int32", - "readOnly": true - } - } - }, - "InstrumentationBatchReport": { - "allOf": [ - { - "$ref": "#/definitions/BatchReport" - }, - { - "type": "object", - "properties": { - "testSpecAppId": { - "$ref": "#/definitions/Id" - }, - "automationFramework": { - "type": "string", - "enum": ["ROBOTIUM", "ESPRESSO", "XCUITEST"] - }, - "appUnderTestId": { - "$ref": "#/definitions/Id" - }, - "tunnelIdentifier": { - "type": "string" - } - } - } - ] - }, - "ScriptWarning": { - "type": "object", - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "info": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - } - }, - "QualityReportBatchReport": { - "allOf": [ - { - "$ref": "#/definitions/BatchReport" - }, - { - "type": "object", - "properties": {} - } - ] - }, - "Uuid": { - "type": "object" - }, - "TestCase": { - "type": "object", - "properties": { - "methodName": { - "type": "string" - }, - "className": { - "type": "string" - }, - "startTime": { - "type": "integer", - "format": "int64" - }, - "duration": { - "type": "integer", - "format": "int64" - }, - "status": { - "type": "string", - "enum": [ - "UNKNOWN", - "SUCCESS", - "WARNING", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - }, - "testError": { - "$ref": "#/definitions/TestError" - } - } - }, - "BatchReport": { - "type": "object", - "discriminator": "type", - "properties": { - "projectPath": { - "$ref": "#/definitions/Path" - }, - "id": { - "$ref": "#/definitions/Id" - }, - "batchId": { - "$ref": "#/definitions/Id" - }, - "name": { - "type": "string" - }, - "tests": { - "type": "array", - "items": { - "$ref": "#/definitions/TestView" - } - }, - "devices": { - "type": "array", - "items": { - "$ref": "#/definitions/DeviceView" - } - }, - "reports": { - "type": "array", - "items": { - "$ref": "#/definitions/ReportEntry" - } - }, - "notificationEnabled": { - "type": "boolean", - "default": false - }, - "notificationEmails": { - "type": "array", - "items": { - "type": "string" - } - }, - "checkupType": { - "type": "string", - "enum": ["STRESS_TEST", "INSTALL_LAUNCH", "SCREENSHOTS", "NONE"] - }, - "duration": { - "type": "integer", - "format": "int64" - }, - "startTime": { - "type": "integer", - "format": "int64" - }, - "status": { - "type": "string", - "enum": [ - "UNKNOWN", - "SUCCESS", - "WARNING", - "FAILURE", - "SKIPPED", - "ABORTED", - "CANCELED" - ] - }, - "running": { - "type": "boolean", - "default": false - }, - "secretLinkCode": { - "type": "string" - } - } - }, - "TestView": { - "type": "object", - "properties": { - "testId": { - "readOnly": true, - "$ref": "#/definitions/Id" - }, - "name": { - "type": "string", - "readOnly": true - }, - "className": { - "type": "string", - "readOnly": true - } - } - }, - "PhoneNumber": { - "type": "object" - }, - "XCUITestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "screenshots": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "stackTrace": { - "type": "string" - }, - "className": { - "type": "string" - }, - "testCaseGroups": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/TestCaseGroup" - } - }, - "errorMessage": { - "type": "string" - } - } - } - ] - }, - "AndroidInstrumentationTestReport": { - "allOf": [ - { - "$ref": "#/definitions/TestReport" - }, - { - "type": "object", - "properties": { - "screenshots": { - "type": "array", - "items": { - "type": "integer", - "format": "int64" - } - }, - "stackTrace": { - "type": "string" - }, - "className": { - "type": "string" - }, - "testSuites": { - "type": "array", - "items": { - "$ref": "#/definitions/TestSuite" - } - }, - "sessionId": { - "type": "string" - }, - "testCaseGroups": { - "type": "array", - "uniqueItems": true, - "items": { - "$ref": "#/definitions/TestCaseGroup" - } - }, - "errorMessage": { - "type": "string" - } - } - } - ] - } - }, - "externalDocs": { - "description": "Sauce Labs Docs", - "url": "https://wiki.saucelabs.com/display/DOCS/Real+Device+Testing" - } -} diff --git a/docs/interface.md b/docs/interface.md index eb96d76d..e99ba6c9 100644 --- a/docs/interface.md +++ b/docs/interface.md @@ -265,303 +265,6 @@ The following commands are available via package or cli tool:

Options

- - - PUT /v1/appium/session/{sessionId}/skiptest
- Report the result of a test as skipped. -

Example:

- api.markTestAsSkippedDeprecated(sessionId) - - - - - PUT /v1/appium/session/{sessionId}/test
- Report the result of a test. -

Example:

- api.updateTestDeprecated(sessionId, { ...options }) -

Options

- - - - - PUT /v1/appium/suites/{batchId}
- Updates the properties of a suite. -

Example:

- api.updateSuiteDeprecated(suiteId, { ...options }) -

Options

- - - - - GET /v1/appium/suites/{batchId}/deviceIds
- Returns the IDs of the devices which you had selected for the specified suite. -

Example:

- api.readDeviceIdsDeprecated(suiteId) - - - - - POST /v1/appium/suites/{batchId}/reports/start
- Start a new suite execution including its test executions. -

Example:

- api.startSuiteDeprecated(suiteId, { ...options }) -

Options

- - - - - PUT /v1/appium/suites/{batchId}/reports/{batchReportId}/finish
- Marks all test executions contained in the specified suite execution as finished. -

Example:

- api.finishSuiteDeprecated(suiteId, batchReportId) - - - - - PUT /v1/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/finish
- Sets the status of the specific test execution and marks it as finished. -

Example:

- api.finishTestReportDeprecated(suiteId, suiteReportId, testReportId, { ...options }) -

Options

- - - - - PUT /v1/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/skip
- Mark test execution as skipped -

Example:

- api.skipTestReportDeprecated(suiteId, suiteReportId, testReportId) - - - - - GET /v1/devices
- Returns a list containing all devices, including those not currently available for testing -

Example:

- api.getDescriptorsDeprecated() - - - - - GET /v1/devices/all
- Returns a list containing all devices, including those not currently unavailable for testing. -This endpoint requires API Key authentication and will also return your private devices. -

Example:

- api.getDescriptorsApiDeprecated() - - - - - GET /v1/devices/all/available
- Returns a list containing the IDs of all devices currently available for testing. -This endpoint requires API Key authentication and will also return your private devices. -

Example:

- api.getAvailableDescriptorIdsApiDeprecated() - - - - - GET /v1/devices/available
- Returns a list containing the IDs of all devices currently available for testing -

Example:

- api.getAvailableDescriptorIdsDeprecated() - - - - - GET /v1/devices/reports
- The session history reports provide information about user sessions. This includes device usage and test reports. By default reports of the last 30 days will be retrieved - limited to a maximum of 50 reports. -If the authenticated user is the owner of the account, session reports of the entire team will be retrieved. Team members can only retrieve their own session history. This endpoint requires Password authentication. -

Example:

- api.getSessionReports({ ...options }) -

Options

- - - - - GET /v1/devices/{deviceDescriptorId}
- Returns information for a particular device. -This endpoint requires API Key authentication. -

Example:

- api.getDescriptorDeprecated(deviceId) - - - - - GET /v1/devices/{deviceDescriptorId}/status
- Returns a list containing device status infos for all device instances with the specified device ID on all pools. -This endpoint requires API Key authentication and will also return your private devices. -

Example:

- api.getDeviceStatusInfosDeprecated(deviceId) - - - - - PUT /v2/appium/session/{sessionId}/skiptest
- Report the result of a test as skipped. -

Example:

- api.markTestAsSkipped(sessionId) - - - - - PUT /v2/appium/session/{sessionId}/test
- Report the result of a test. -

Example:

- api.updateTest(sessionId, { ...options }) -

Options

- - - - - PUT /v2/appium/suites/{batchId}
- Updates the properties of a suite. -

Example:

- api.updateSuite(suiteId, { ...options }) -

Options

- - - - - GET /v2/appium/suites/{batchId}/deviceIds
- Returns the IDs of the devices which you had selected for the specified suite. -

Example:

- api.readDeviceIds(suiteId) - - - - - POST /v2/appium/suites/{batchId}/reports/start
- Start a new suite execution including its test executions. -

Example:

- api.startSuite(suiteId, { ...options }) -

Options

- - - - - PUT /v2/appium/suites/{batchId}/reports/{batchReportId}/finish
- Marks all test executions contained in the specified suite execution as finished. -

Example:

- api.finishSuite(suiteId, batchReportId) - - - - - PUT /v2/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/finish
- Sets the status of the specific test execution and marks it as finished. -

Example:

- api.finishTestReport(suiteId, suiteReportId, testReportId, { ...options }) -

Options

- - - - - PUT /v2/appium/suites/{batchId}/reports/{batchReportId}/results/{testReportId}/skip
- Mark test execution as skipped -

Example:

- api.skipTestReport(suiteId, suiteReportId, testReportId) - - - - - GET /v2/batchReports/{batchReportId}
- Returns the test report of a suite -

Example:

- api.readBatchReport({ ...options }) -

Options

- - - - - GET /v2/batchReports/{batchReportId}/xml
- Returns the test report of a suite as XML -

Example:

- api.junitStyleXmlReport({ ...options }) -

Options

- - - - - GET /v2/devices
- Returns a list per data center containing all devices, including private devices and those not currently available for testing. This endpoint requires API Key authentication. -

Example:

- api.getDescriptors() - - - - - GET /v2/devices/available
- Returns a list per data center containing the IDs of all devices currently available for testing, including private devices. This endpoint requires API Key authentication. -

Example:

- api.getAvailableDescriptorIds() - - - - - GET /v2/devices/{deviceDescriptorId}
- Returns information for a particular device per data center. This endpoint requires API Key authentication. -

Example:

- api.getDescriptor(deviceId) - - - - - GET /v2/logs/{testReportId}/appium
- Returns Appium log for the specified test report -

Example:

- api.readAppiumLog(testReportId) - - - - - GET /v2/logs/{testReportId}/device
- Returns device log for the specified test report -

Example:

- api.readDeviceLog(testReportId) - - - - - GET /v2/logs/{testReportId}/vitals
- Returns device vitals of a test session after completion -

Example:

- api.readVitalsLog(testReportId) - - - - - GET /v2/logs/{testReportId}/xcuitest
- Returns XCUITest log for the specified test report -

Example:

- api.readXcuiTestLog(testReportId) - - - - - GET /v2/reports/{testReportId}
- Returns test report and artifacts for a test session after completion -

Example:

- api.readReport(testReportId) - - - - - GET /v2/screenshots/{testReportId}/{screenshotId}.png
- Returns a PNG screenshot from a test -

Example:

- api.getScreenshot(testReportId, screenshotId) - - - - - GET /v2/video/{videoId}.mp4
- Returns screen recording of a test session after completion -

Example:

- api.getScreenRecording(videoId, { ...options }) -

Options

- - GET /metrics/
diff --git a/jest.config.js b/jest.config.js index d76b7c0e..a8c6a4eb 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,7 +5,7 @@ module.exports = { collectCoverage: true, coverageThreshold: { global: { - branches: 94, + branches: 93.5, functions: 98, lines: 97, statements: 97, diff --git a/package-lock.json b/package-lock.json index b5c16f85..b26cc159 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "saucelabs", - "version": "7.5.0", + "version": "8.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "saucelabs", - "version": "7.5.0", + "version": "8.0.0", "license": "Apache-2.0", "dependencies": { "change-case": "^4.1.2", diff --git a/package.json b/package.json index 5a47fdab..07df2635 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "saucelabs", - "version": "7.5.0", + "version": "8.0.0", "author": "Sauce Labs, Inc.", "description": "A wrapper around Sauce Labs REST API", "homepage": "https://github.com/saucelabs/node-saucelabs", diff --git a/src/constants.js b/src/constants.js index 5b049b5b..ce640c16 100644 --- a/src/constants.js +++ b/src/constants.js @@ -26,7 +26,6 @@ export const SAUCE_VERSION_NOTE = `node-saucelabs v${version}\nSauce Connect v${ const protocols = [ require('../apis/sauce.json'), - require('../apis/rdc.json'), require('../apis/performance.json'), require('../apis/testcomposer.json'), require('../apis/datastore.json'), diff --git a/tests/__snapshots__/index.test.js.snap b/tests/__snapshots__/index.test.js.snap index 724f1c4a..63ae6800 100644 --- a/tests/__snapshots__/index.test.js.snap +++ b/tests/__snapshots__/index.test.js.snap @@ -1,12 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`should contain custom headers 1`] = ` -{ - "Authorization": "Basic Zm9vOmJhcg==", - "user-agent": "foo", -} -`; - exports[`should get builds failed jobs 1`] = ` [ [ diff --git a/tests/index.test.js b/tests/index.test.js index 10724fae..ccb13368 100644 --- a/tests/index.test.js +++ b/tests/index.test.js @@ -203,27 +203,6 @@ test('should allow to make a request with body param via CLI call', async () => expect(req.json).toEqual({passed: false}); }); -test('should update RDC job status with body param', async () => { - const api = new SauceLabs({}); - await api.updateTest('89ec3cca-7092-41f1-8037-d035579fb8d1', {passed: true}); - - const req = got.mock.calls[0][1]; - expect(got.put).toBeCalled(); - expect(req.json).toEqual({passed: true}); -}); - -test('should update RDC job status with body param via CLI call', async () => { - const api = new SauceLabs({}); - await api.updateTest( - '89ec3cca-7092-41f1-8037-d035579fb8d1', - '{ "passed": false }' - ); - - const req = got.mock.calls[0][1]; - expect(got.put).toBeCalled(); - expect(req.json).toEqual({passed: false}); -}); - test('should fail if param has wrong type', async () => { const api = new SauceLabs({user: 'foo', key: 'bar'}); const error = await api @@ -442,22 +421,6 @@ test('should fail if file parameter is invalid', async () => { expect(result.message).toContain('Invalid file parameter'); }); -test('should contain custom headers', async () => { - const api = new SauceLabs({ - user: 'foo', - key: 'bar', - headers: {'user-agent': 'foo'}, - }); - got.mockReturnValue( - Promise.resolve({ - body: JSON.stringify({foo: 'bar'}), - }) - ); - await api.updateTest('123', '{ "passed": false }'); - const requestOptions = got.extend.mock.calls[0][0]; - expect(requestOptions.headers).toMatchSnapshot(); -}); - describe('startSauceConnect', () => { it('should start sauce connect with proper parsed args', async () => { const logs = []; diff --git a/tests/utils.test.js b/tests/utils.test.js index 84af09fd..9925399b 100644 --- a/tests/utils.test.js +++ b/tests/utils.test.js @@ -1,7 +1,6 @@ import http from 'http'; import https from 'https'; import sauceAPI from '../apis/sauce.json'; -import rdcAPI from '../apis/rdc.json'; import { createHMAC, getAPIHost, @@ -61,10 +60,6 @@ test('getAPIHost', () => { expect(() => getAPIHost(sauceAPI.servers, sauceAPI.basePath, {tld: 'info'}) ).toThrow(); - - expect(getAPIHost(rdcAPI.servers, rdcAPI.basePath, {})).toBe( - 'https://app.testobject.com/api/rest' - ); }); test('getAssetHost', () => {