Continuous Testing allows managing the applications using Rest API. Following are the supported Rest API's for managing applications.
The role of the user performing the Rest Operation is specified by the 'Authorization' header
For more information, please visit How To Execute Rest API.
Get Applications
Without parameters - Gets a collection of all the applications this user has access to
If parameters were added - Gets a filtered collection of application.
- The filter is defined by specifying the required property-name = property-value concatenated with commas.
Examples:
/api/v1/applications?osType=android&fields=id - would return only ids of the android applications
/api/v1/applications?osType=ios&version=1050 - would return ios applications with version 1050
GET /api/v1/applications |
---|
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
packageName | String | No | package name for Android |
mainActivity | String | No | main activity of android app |
uniqueName | String | No | string that the user can use later to identify the app uniquely |
osType | String | No | iOS/Android |
bundleIdentifier | String | No | application bundle id (only for iOS) |
version | String | No | Deprecated since 12.11, kept for compatibility purposes.
|
buildVersion | String | No | Application build version.
CFBundleVersion for iOS |
releaseVersion | String | No | Application release version. versionName for AndroidCFBundleShortVersionString for iOS |
cameraSupport | Boolean | No | true / false |
networkCaptureSupport | Boolean | No | true / false |
isForSimulator | Boolean | No | true / false |
instrumentByProfile | String | No | |
hasCustomKeystore | Boolean | No | true / false |
fileType | String | No | aab/apk/ipa/zip |
Get Application Info
Gets all of the application info.
GET /api/v1/applications/{applicationId} |
---|
{applicationId} - the id of the application
Upload Application
Gets the id of the uploaded application.
Uploads the application file to the cloud.
POST /api/v1/applications/new |
---|
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
file | File | Yes | a multi-part file |
camera | boolean | No | true means that application will include camera libraries |
touchId | boolean | No | true means that application will include touch id libraries |
uniqueName | String | No | string that the user can use later to identify the app uniquely |
project | String | No | Available for cloud admin only, if the project isn't specified, it will be uploaded to Default project. Project name can be provided or a project id in the following format:
|
Additional Parameters for iOS
In order to use basic instrumentation, 'Camera' and 'TouchId' parameters has to be set to 'false'
'overrideEntitlements' can be used only when 'fixKeychainAccess' is false
Name | Type | Mandatory | Description |
---|---|---|---|
uuid | String | No | The UUID of the provisioning profile to use when installing the application |
fixKeychainAccess | Boolean | No | true if the application should be signed with keychain access group entitlements. |
overrideEntitlements | String | No | XML file for replace the app entitlements with a specific file |
allowResign | Boolean | No | When Such application cannot be instrumented since during instrumentation applications must be resigned. Default value is |
Additional Parameters for Android
The first 4 parameters are used to upload a customkeystore (.jks file) for this particular application. If any of these are supplied, all should be supplied.
If a customkeystore is supplied, it will be used for every subsequent (re)instrumenting of this app. The Cloud UI will show a "Custom Keystore: Yes" indication in the application info panel for such applications.
Name | Type | Mandatory | Description |
---|---|---|---|
keystore | File | No | a multi-part file, containing the customkeystore |
keystorePassword | String | No | thekeystorepassword. |
keyAlias | String | No | the key alias to be used. |
keyPassword | String | No | the key password. |
networkCaptureSupport | Boolean | No | Whether to support HAR network capture |
Upload Application from a url
Gets the id of the uploaded application.
Uploads the application file to the cloud.
This call is exactly like /api/v1/applications/new, except that the application file is not provided as part of the call, instead the url parameter specifies where to get the file.
POST /api/v1/applications/new-from-url |
---|
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
url | String | Yes | a string specifying the location from which to retrieve the application file |
camera | boolean | No | true means that application will include camera libraries |
touchId | boolean | No | true means that application will include touch id libraries |
uniqueName | String | No | string that the user can use later to identify the app uniquely |
project | String | No | Available for cloud admin only, if the project isn't specified, it will be uploaded to Default project. Project name can be provided or a project id in the following format:
|
Additional Parameters for iOS
In order to use basic instrumentation, 'Camera' and 'TouchId' parameters has to be set to 'false'
'overrideEntitlements' can be used only when 'fixKeychainAccess' is false
Name | Type | Mandatory | Description |
---|---|---|---|
uuid | String | No | profile to use on install |
fixKeychainAccess | Boolean | No | true if the application should be signed with keychain access group entitlements. |
overrideEntitlements | String | No | XML file for replace the app entitlements with a specific file |
allowResign | Boolean | No | When false value provided - application will not be resigned during installation. Such application cannot be instrumented since during instrumentation applications must be resigned. Default value is true. |
Additional Parameters for Android
The following 4 parameters are used to upload a customkeystorefor this particular application. If any of these are supplied, all should be supplied.
If a customkeystoreis supplied, it will be used for every subsequent (re)instrumenting of this app. The Cloud UI will show a "Custom Keystore: Yes" indication in the application info panel for such applications.
Name | Type | Mandatory | Description |
---|---|---|---|
keystore | File | No | a multi-part file, containing the customkeystore |
keystorePassword | String | No | thekeystorepassword. |
keyAlias | String | No | the key alias to be used. |
keyPassword | String | No | the key password. |
networkCaptureSupport | Boolean | No | Whether to support HAR network capture |
Delete Application
Deletes an application file from the cloud
POST /api/v1/applications/{applicationId}/delete |
---|
{applicationId} - the id of the application
Install Application
Installs the application on the device/devices.
POST /api/v1/applications/{applicationId}/install |
---|
{applicationId} - the id of the application
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
deviceId | String | No | id of device to install on |
devicesList | String | No | list of id of devices (i.e. 1,2,3) |
AllDevices | String | No | AllDevices=true is a short way to give the id of all devices that are of the application's OS and are in 'Available' status |
instrument | Boolean | No | Since version 11.0 default is instrument=false |
deviceId / devicesList / AllDevices - One of these is mandatory
Uninstall Application
Uninstalls the application on the device/devices.
POST /api/v1/applications/{applicationId}/uninstall |
---|
{applicationId} - the id of the application
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
deviceId | String | No | id of device to install on |
devicesList | String | No | list of id of devices (i.e. 1,2,3) |
AllDevices | String | No | allDevices=true is a short way to give the id of all devices that are of the application's OS and are in 'Available' status |
deviceId / devicesList / AllDevices - One of these is mandatory