- 印刷
- ダークライト
Autify ではお手持ちのJenkins workflow から簡単にテストプランやシナリオを実行できる公式のJenkins plugin を提供しています。
はじめてみよう
このドキュメントでは、どのようにAutify Jenkins plugin を利用するかを順に説明していきます。
前提条件
まず、すでにJenkins Project やPipeline を使ってステージングやプロダクション等へのソフトウェアのデプロイを行なっているものとします。そのデプロイstep のすぐ後にAutify のテストを実行するstep を追加することで、新しくデプロイされたソフトウェアがエンドツーエンドのユーザ体験を損ねていないことを確認できるようにします。
次に、Autify NoCode Web でテストプランかテストシナリオを作成する必要があります。テストシナリオは、そのJenkins でソフトウェアがデプロイされるウェブサイトに対してレコーディングすることになります。テストプランまたはシナリオのURL (例: https://app.autify.com/projects/00/scenarios/000
) をメモしておいてください、後ほど利用します。
さらに、パーソナルアクセストークンを生成する必要があります。後ほどJenkins Secrets に保存するために、生成されたトークンはどこかにメモしておいて下さい。
パーソナルアクセストークンは1人のユーザに紐づいてしまうので、CI/CD 連携のために組織にマシンユーザを作って、そのパーソナルアクセストークンを使うことをお勧めします。
Plugin をインストールする
Autify Plugin のページ を開き、右上の"How to install" をクリックします。以下の様なインストールの選択肢が表示されます:
パーソナルアクセストークンをJenkins Secrets に保存
上で生成したパーソナルアクセストークンをJenkins のドキュメントに従って、Secrets に保存します。"Kind" には "Secret text" を使って、"ID" には任意の名前を付けられます。ここではautifyWebAccessToken
と命名したと仮定しておきます:
Autify for Web を実行するbuild step を追加する
それではお手持ちのJenkins Project またはPipeline に新しいstep を追加しましょう。
Jenkins Project
お手持ちのProject のconfiguration に行き、"Build" の下にある"Add build step"をクリックし、"Run test on Autify for Web" を選択します:
そうしたら、"Personal Access Token of Autify for Web" のセレクトボックスから上で作成したSecret のID (例: autifyWebAccessToken
)を選択し、"Autify for Web test URL" には上で記録したURL (例: https://app.autify.com/projects/00/scenarios/000
) を貼り付けます。
以下の例をご覧ください。
シンプルにテストを開始してstep を終了 (テストの完了は待たない):
テストを開始して、それが完了するかタイムアウトするまで待つ - "Wait?" をチェックします:
"URL replacements" を使ってテストプラン又はシナリオを別のURL に対して開始する - "Advanced" をクリックし"URL replacements" の"Add" をクリックします:
"URL replacements" はステージングのウェブサイトに対してプロダクションのウェブサイトで記録したテストシナリオを実行したい時などに有効です。
Jenkins Pipeline
お手持ちのJenkinsfile
またはPipeline のconfiguration ページを開き、以下の様なstep をデプロイのstep の直後に追加します。
シンプルにテストを開始してstep を終了 (テストの完了は待たない):
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000'
テストを開始して、それが完了するかタイムアウトするまで待つ:
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', wait: true
urlReplacements
を使ってテストプラン又はシナリオを別のURL に対して開始する:
autifyWeb credentialsId: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', urlReplacements: [[patternUrl: 'http://example.com', replacementUrl: 'http://example.net']]
urlReplacements
はステージングのウェブサイトに対してプロダクションのウェブサイトで記録したテストシナリオを実行したい時などに有効です。
(非推奨) "Execute shell" step を利用
もしAutifyが提供する Jenkins plugin を利用したくないか、plugin に問題がある場合は、代わりに"Execute shell" step を利用することができます。
以下に手順をまとめています:
- もしまだであれば、以下のplugin をインストールします:
- パーソナルアクセストークンを上に書いてあるように保存します。
- "Execute shell" build step を追加します:
- Jenkins Project:
- Secret を"Build Environment" > "Bindings" に追加します ("Variable" には
AUTIFY_WEB_ACCESS_TOKEN
を使います) - "Execute shell" build step を以下の様に追加します:
curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe ./autify/bin/autify web test run https://app.autify.com/projects/00/scenarios/000
- Secret を"Build Environment" > "Bindings" に追加します ("Variable" には
- Jenkins Pipeline:
sh
をwithCredentials
で囲んで以下の様に追加します:
withCredentials([string(credentialsId: 'autifyWebAccessToken', variable: 'AUTIFY_WEB_ACCESS_TOKEN')]) { sh ''' curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe ./autify/bin/autify web test run https://app.autify.com/projects/00/scenarios/000 ''' }
- Jenkins Project:
注: shell step 内のAutify CLI のコマンドはお好きな様にカスタマイズできます。詳しくはAutify CLI のドキュメント をご覧ください。
まとめ
Autify のJenkins plugin (またはshell step)を使うことで、デプロイ後にテストプランやシナリオの実行を自動化できるので、無駄な時間を使うことなくリグレッションをすぐに検知して適切な行動を取ることができるようになります。