Experitest Continuous Testing allows managing the applications using Rest API. Following are the supported Rest API's for managing applications.
SEO Metadata | ||
---|---|---|
| ||
The application manager allows performing the following actions through the cloud web portal. |
Table of Contents |
---|
Info |
---|
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, for a detailed example. |
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 which with version is 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 | app version |
releaseVersion | String | No | app release version |
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 | |
nonInstrumentedhasCustomKeystore | Boolean | No | true / false |
hasCustomKeystorefileType | BooleanString | Notrue | / falseaab/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 | Optional 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 following first 4 parameters are used to upload a customkeystorefor customkeystore (.jks file) for this particular application. If any of these are supplied, all should be supplied.
If a customkeystoreis 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, but instead the url parameter specifies where to get the file.
Parameters
Name
Type
Mandatory
Description
a string specifying the location from which to retrieve the application file
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 | Optional 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
a multi-part file, containing the customkeystore
language | xml |
---|---|
title | Get Devices Response |
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 | allDevicesAllDevices=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