GitHub Actions integration
  • 02 Jul 2024
  • 2 Minutes to read
  • Contributors
  • Dark
    Light

GitHub Actions integration

  • Dark
    Light

Article summary

Autify provides the official GitHub Actions to run a test plan or test scenario easily from your GitHub Actions workflow.

Getting started

This document describes how to use our GitHub Actions integrations with your GitHub repository step-by-step.

Prerequisites

First, we assume you already have GitHub Actions workflow to deploy your software to somewhere e.g. staging, production. We'll add an Autify test step right after the deployment step to confirm the newly deployed software doesn't break the end-to-end experience.

Secondly, you need to create a test plan or test scenario on Autify NoCode Web. The test scenario should be recorded against your target website where the software is deployed by your GitHub Actions workflow. Please note the URL of your test plan or scenario e.g. https://app.autify.com/projects/00/scenarios/000 and we'll use it later.

You also need to create a personal access token of Autify for Web. Please note the generated token somewhere so that we can store the value on GitHub Actions Secrets 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 GitHub Actions Secrets

Store the personal access token you generated above on Secrets by following GitHub's document. You can use an arbitrary name for the Secrets but that name will be referred by your GitHub Actions definition later. Assuming you named it AUTIFY_WEB_ACCESS_TOKEN here.

Add GitHub Actions step to run Autify for Web

Finally, let's add a new step to your existing GitHub Actions workflow. See the examples below. The autify-test-url value should be the URL you noted above.

See also more details of parameters on GitHub Marketplace: https://github.com/marketplace/actions/run-test-on-autify-for-web


Simply start a test and finish the step (no waiting for the finish of the test):

- uses: autifyhq/actions-web-test-run@v2
  with:
    access-token: ${{ secrets.AUTIFY_WEB_ACCESS_TOKEN }}
    autify-test-url: https://app.autify.com/projects/00/scenarios/000

Start a test and wait until the test finishes or timed out:

- uses: autifyhq/actions-web-test-run@v2
  with:
    access-token: ${{ secrets.AUTIFY_WEB_ACCESS_TOKEN }}
    autify-test-url: https://app.autify.com/projects/00/scenarios/000
    wait: true
    timeout: 300

CAVEAT: This will consume your GitHub Actions hosted runner's minutes while waiting. Be careful when extending the timeout value.

Use url-replacements to start your test plan or scenario against a different URL:

- uses: autifyhq/actions-web-test-run@v2
  with:
    access-token: ${{ secrets.AUTIFY_WEB_ACCESS_TOKEN }}
    autify-test-url: https://app.autify.com/projects/00/scenarios/000
    url-replacements: http://example.com=http://example.net

url-replacements is useful when you want to test your staging website by a test scenaio recorded against your production website, for example.

Conclusion

By using Autify's GitHub Actions, you can automatically run a test plan or scenario after deployments so that you can detect regressions right away and take an appropriate actions without wasting time.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.