Marathon Cloud
MarathonLabs provides infinite virtual devices and will automatically shard, sort, distribute, and retry your tests, allowing all tests to be completed. We recommend you refer to the Marathon Cloud documentation for the details of the platform.
The Marathon Cloud component is an integrated test automation workflow step for the Appcircle pipeline. You can easily include it in your workflow on Appcircle with the necessary parameters and run your UI tests.
Prerequisites
Before running the Marathon Cloud step, you must complete certain prerequisites, as detailed in the table below:
Please note that this component works separately on both the native Android and iOS platforms. The requirements for both platforms are different.
Prerequisite Workflow Step | Description |
---|---|
Xcodebuild for Testing | After the Xcodebuild for Testing step runs, the test IPA paths $AC_TEST_IPA_PATH and $AC_UITESTS_RUNNER_PATH will be created automatically. So that the Marathon Cloud component depends on these paths. |
Android Build for UI Testing | Once the Android Build for UI Testing step is completed, the test APK paths $AC_APK_PATH and $AC_TEST_APK_PATH are automatically generated. The Marathon Cloud component relies on these paths. |
When using this component for the iOS platform, do not forget to change the Destination
value in the Xcodebuild for Testing step. This value will be generic/platform=iOS
by default. This means that it creates a generic test IPA
for all iOS devices. Since the Marathon Cloud component runs on a specific test device, you need to change this value. For example, platform=iOS Simulator,name=iPhone 15 Pro,OS=17.2
.
Please note that if you do not change this parameter, the Marathon Cloud component will fail and the pipeline will break. For further information, please follow the Xcodebuild for Testing documentation.
For Android
For iOS
Input Variables
This step contains some input variable(s). It needs these variable(s) to work. The table below gives explanation for this variable(s).
Please do not use sensitive variables such as Username, Password, API Key, or Personal Access Key directly within the step.
We recommend using Environment Variables groups for such sensitive variables.
Variable Name | Description | Status |
---|---|---|
$AC_MARATHON_API_KEY | Marathon Cloud API key. To get an API key, please follow the Marathon Cloud documentation. | Required |
$AC_MARATHON_TEST_NAME | This name will be shown on the Marathon Cloud dashboard test run list. | Required |
$AC_MARATHON_APP_PATH | Specify the path to the application binary. This application is generated by the corresponding testing step (Android Build for UI Testing or Xcodebuild for Testing). The default value is $AC_APK_PATH for Android or $AC_TEST_IPA_PATH for iOS. | Required |
$AC_MARATHON_UITEST_RUNNER_APP_PATH | Specifies the path to the test application binary. This application is generated by the corresponding testing step (Android Build for UI Testing or Xcodebuild for Testing). The default value is $AC_TEST_APK_PATH for Android or $AC_UITESTS_RUNNER_PATH for iOS. | Required |
$AC_OUTPUT_DIR | Specifies the path for Marathon Cloud outputs. This path will be automatically defined. Do not change if it is not necessary. | Required |
To access the source code of this component, please use the following link: