- 印刷
- ダークライト
Autify ではお手持ちのCircleCI workflow から簡単にテストプランやシナリオを実行できる公式のCircleCI Orb を提供しています。
はじめてみよう
このドキュメントでは、皆さんのGit リポジトリでどのようにAutify のCircleCI 連携を利用するかを順に説明していきます。
前提条件
まず、すでにCircleCI workflow を使ってステージングやプロダクション等へのソフトウェアのデプロイを行なっているものとします。そのデプロイjob のすぐ後にAutify のテストを実行するjob を追加することで、新しくデプロイされたソフトウェアがエンドツーエンドのユーザ体験を損ねていないことを確認できるようにします。
次に、Autify NoCode Web でテストプランかテストシナリオを作成する必要があります。テストシナリオは、そのCircleCI workflow でソフトウェアがデプロイされるウェブサイトに対してレコーディングすることになります。テストプランまたはシナリオのURL (例: https://app.autify.com/projects/00/scenarios/000
) をメモしておいてください、後ほど利用します。
さらに、パーソナルアクセストークンを生成する必要があります。後ほどEnvironment Variables (環境変数) に保存するために、生成されたトークンはどこかにメモしておいて下さい。
注: パーソナルアクセストークンは1人のユーザに紐づいてしまうので、CI/CD 連携のために組織にマシンユーザを作って、そのパーソナルアクセストークンを使うことをお勧めします。
パーソナルアクセストークンをEnvironment Variables に保存
上で生成したパーソナルアクセストークンをCircleCI のドキュメントに従って、Environment Variables (環境変数) に保存します。名前は任意ですが、AUTIFY_WEB_ACCESS_TOKEN
と命名した場合はそれがデフォルトの名前なので後ほどこの名前を指定する必要がありあせん。ここではそうしたと仮定しておきます。
Autify for Web を実行するCircleCI job を追加
それでは、お手持ちのCircleCI workflow に新しいjob を追加しましょう。以下の例を参考にしてください。autify-test-url
の値は、上でメモしたURL になります。
パラメータの詳細は CircleCI Orb のページも参考にしてください: https://circleci.com/developer/orbs/orb/autify/autify-web
シンプルにテストを開始してstep を終了 (テストの完了は待たない):
orbs:
autify-web: autify/autify-web@3
workflows:
test-run:
jobs:
- autify-web/test-run:
autify-test-url: 'https://app.autify.com/projects/00/scenarios/000'
テストを開始して、それが完了するかタイムアウトするまで待つ:
orbs:
autify-web: autify/autify-web@3
workflows:
test-run:
jobs:
- autify-web/test-run:
autify-test-url: 'https://app.autify.com/projects/00/scenarios/000'
wait: true
timeout: 300
警告: この設定はテスト完了を待っている間もCircleCI build の時間を消費します。タイムアウトを延長するときは注意してください。
url-replacements
を使ってテストプラン又はシナリオを別のURL に対して開始する:
orbs:
autify-web: autify/autify-web@3
workflows:
test-run:
jobs:
- autify-web/test-run:
autify-test-url: 'https://app.autify.com/projects/00/scenarios/000'
url-replacements: http://example.com=http://example.net
url-replacements
はステージングのウェブサイトに対してプロダクションのウェブサイトで記録したテストシナリオを実行したい時などに有効です。
まとめ
Autify のCircleCI Orb を使うことで、デプロイ後にテストプランやシナリオの実行を自動化できるので、無駄な時間を使うことなくリグレッションをすぐに検知して適切な行動を取ることができるようになります。