Last updated: Jan 29, 2020 08:30
The following figure illustrates this solution architecture.
Integrating with HockeyApp requires the following:
- The iOS and Android TestNG configurations need to be stored in individual files. It is a recommended practice to keep the Android CI/CD configuration and IOS CI/CD configuration separate.
- cURL installed on the user system and the CI system, with the path configured in the system’s environment variable. (The solution must be able to download the Android files because the HockeyApp API response is not consistent for iOS and Android.)
- Download the HockeyAppListener.java file and add it in the package com.quantum.listeners.
Register the listener in the TestNG configuration file, as shown in the following code snippet:
Configure all required parameters in the testNG parameters as shown below. Please note that the parameters should be configured outside all test nodes.
downloadLatestHockeyAppis the flag to decide whether the latest HockeyApp is to be downloaded or not.
hockeyApp.nameis the name of the Application displayed on the main screen of the HockeyApp.
app.upload.cloud.pathis the path in the perfecto cloud repository where the application file is to be uploaded.
hockeyAppTokenis the Requests that require authentication need to set the HTTP header X-HockeyAppToken to a valid API token. Each user can create multiple tokens under API Tokens in the account menu.
perfecto.capabilities.useris the Perfecto cloud user name. You can also use the ‘driver.capabilities.user’ key in case you are working with multiple different driver names.
perfecto.capabilities.passwordis the Perfecto cloud password. You can also use the ‘driver.capabilities.password’ key in case you are working with multiple different driver names. Known Limitation: This solution will not work with the securityToken key as the CloudUtils.uploadMedia() function is currently limited to a password only. (Should be fixed in one of the upcoming Quantum versions.)
driver.capabilities.appis the path in the Perfecto cloud repository where the application file is to be uploaded.