- Print
- DarkLight
Autify provides the official CircleCI Orb to upload a build and run a test plan easily from your CircleCI workflow.
Getting started
This document describes how to use our CircleCI integrations with your Git repository step-by-step.
Prerequisites
First, we assume you already have CircleCI workflow to build your application. We'll add an Autify test job right after the build job to confirm the newly built application doesn't break the end-to-end experience.
Secondly, you need to create a test plan on Autify NoCode Mobile. Please note the URL of your test plan e.g. https://mobile-app.autify.com/projects/AAA/test_plans/BBB
and we'll use it later.
You also need to create a personal access token of Autify NoCode Mobile. Please note the generated token somewhere so that we can store the value on Environment Variables later.
Note: Since the personal access token is associated with a single user, we recommend you to create a machine user in your organization and use its personal access token for CI/CD integration.
Store personal access token on Environment Variables
Store the personal access token you generated above on Environment Variables by following CircleCI's document. You can use an arbitrary name for the Environment Variable but if you name AUTIFY_MOBILE_ACCESS_TOKEN
, you don't have to specify the name later because this is the default name. Assuming you named so here.
Add CircleCI job to upload a build and run Autify NoCode Mobile
Finally, let's add a new step to your existing CircleCI workflow. See the examples below. The autify-test-url
value should be the URL you noted above.
Upload a new build file and start a test (no waiting for the finish of the test):
orbs:
android: circleci/android@2.0
autify-mobile: autify/autify-mobile@3
jobs:
# Example build jobs. Needs to persist the build file to workspace.
build-android:
executor:
name: android/android-machine
steps:
- ...
- run: ./gradlew assembleRelease
- persist_to_workspace:
paths:
- android-release.apk
root: app/build/outputs/apk/release
build-ios:
macos:
xcode: 13.4.1
steps:
- ...
- run: xcodebuild -configuration Debug -target hello-world -arch x86_64 -sdk iphonesimulator
- persist_to_workspace:
paths:
- hello-world.app
root: build/Debug-iphonesimulator
workflows:
test-run-andriod:
jobs:
- build-android
- autify-mobile/test-run:
requires:
- build-android
autify-test-url: 'https://mobile-app.autify.com/projects/AAA/test_plans/BBB'
build-path: android-release.apk
test-run-ios:
jobs:
- build-ios
- autify-mobile/test-run:
requires:
- build-ios
autify-test-url: 'https://mobile-app.autify.com/projects/AAA/test_plans/BBB'
build-path: hello-world.app
If you want to wait until the test finishes or timed out:
jobs:
- autify-mobile/test-run:
...
wait: true
timeout: 300
CAVEAT: This will consume your CircleCI build minutes while waiting. Be careful when extending the timeout value.
Just upload a new build file (workspace-id
is the id right after /projects/
in the URL you noted above):
# Android
jobs:
- build-android
- autify-mobile/build-upload:
requires:
- build-android
build-path: android-release.apk
workspace-id: AAA
## iOS
jobs:
- build-ios
- autify-mobile/build-upload:
requires:
- build-ios
build-path: hello-world.app
workspace-id: AAA
Conclusion
By using Autify's CircleCI Orb, you can automatically run a test plan after build so that you can detect regressions right away and take an appropriate actions without wasting time.