Autify provides the official CircleCI Orb to upload a build and run a test plan easily from your CircleCI workflow.
This document describes how to use our CircleCI integrations with your Git repository step-by-step.
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 for 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 for 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 for 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: email@example.com 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
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.