この記事は Autify アドベントカレンダー2021の2日目のためのブログエントリです。Autify の中の人(Autify のカスタマーサクセスエンジニアをしています)よりお届けしています。
Autify では、テストプランを利用することで、定期的にテストを自動実行させることが可能です。
設定画面は上記のようなものになっており、これ以上の内容でのスケジュール設定は、Autify 単体では行わせることはできません。
こんなとき、システム運用などの経験が少しある方であれば、「例えば cron のようなことができれば...」といったことを思い浮かべるかもしれません。
ただ、シンプルに cron を利用しようとすると、「それを実行するサーバーがいるよね」「どうやって準備しよう」「運用どうしよう」......とかとか、考えなければいけないことがいくつかあります。
そこで、Google Cloud Scheduler という選択肢はいかがでしょうか。サーバーレス・フルマネージドなcron、と考えて差し支えないかと思います。
Google が提供するクラウドプラットフォーム環境である、Google Cloud Platform を利用可能なアカウントさえあれば、無料で利用しはじめることができます(3つ目の設定までは無料で、それ以降はひとつあたり $0.1/月 の費用が掛かります(記事執筆現在))。アカウントの登録方法まではこの記事では紹介しないので、もしまだお持ちでない場合には、こちらなどからあらかじめ登録しておきます。
Autify 側の準備をする
まずは Autify 側の準備をしておきます。
- スケジュール実行させたいテストプランの設定
- 対象のテストプランのURL
https://app.autify.com/projects/999/test_plans/xxxxx
をメモしておきます(特にxxxxx
の部分が重要です)。
- 対象のテストプランのURL
- パーソナルアクセストークンの取得
特に2点目は、Autify の API を Cloud Scheduler 経由で呼び出すためには必要な作業です。この発行方法については公式のヘルプページを参照してください。
Google Cloud Scheduler から Autify テストプラン API を呼び出す
続いて Cloud Scheduler の設定をしていきます。これからやる内容に対応している公式ドキュメントは、以下です。
Google Cloud Platform にログインできたら、画面左にあるメニューから アプリケーションの統合 > Cloud Scheduler を選びます。
すると以下のような表示になると思いますので、「ジョブのスケジュール設定」のボタンをクリック。
以下のような設定画面のような表示になりますので、順番に設定をしていきます。
- 名前
- これから作成する設定にわかりやすい名前をつけます。名前には英数字、ハイフン「-」、アンダースコア「_」のみが使用可能です。
- 説明
- 上記のとおり、名前には英数字や一部の記号しか使えませんので、これがどんなスケジュール設定なのかがわかるような設定を記述します。
- 頻度
- ここが「どのようなスケジュールで Autify のテストプランを起動するか」のキモとなるのですが、いわゆる unix-cron 形式で指定する必要があり、不慣れな方にとっては「???」だと思います
- たとえば、毎分の場合は「
* * * * *
」、3 時間ごとの場合は「0 */3 * * *
」、毎週月曜日 9:00 の場合は「0 9 * * 1
」...になるのですが、詳しくはぜひこちらのドキュメントを参照してください。
- タイムゾーン
- 上記「頻度」で指定した「時間」が、どのタイムゾーンの時間なのか?をここで指定します。
- 日本時間の場合は「日本標準時(JST)」を指定します。
「続行」を押し、さらに「ターゲットタイプ」として「HTTP」を選ぶと、設定項目が下のスクリーンショットのように増えるはずです。
- URL
https://app.autify.com/api/v1/schedules/xxxxx
を指定します。xxxxx
の部分は、別途メモしておいた対象のテストプランのURLであるhttps://app.autify.com/projects/999/test_plans/xxxxx
と対応しています。
- HTTPメソッド
POST
を選択します。
- HTTPヘッダー
- 「ヘッダーを追加」ボタンを押し、「名前」に
Authorization
を、「値」にBearer xxxxxxxxxxxxxxxxx
を、それぞれ入力します。 xxxxxxxxxxxxxxxxx
には、取得しておいたパーソナルアクセストークンの文字列を入力します。
- 「ヘッダーを追加」ボタンを押し、「名前」に
上記各項目の入力ができたら、「続行」を押します。
すると、以下のように「再試行」に関する設定入力エリアが現れます。
これは、例えば一時的な通信上の問題などによってうまく Autify のテストプランが起動できなかったりした場合に、再度起動を試みるかどうか、の指定になります。気になるようであれば、「最大試行回数」を「3」くらいにしておくといいかもしれません。
以上、入力ができたら「作成」ボタンを押すと、スケジュール設定が完了です。
試しに、設定がうまくいっているかどうかを確認してみましょう。「作成」ボタンを押したあとに表示された画面内にある「今すぐ実行」ボタンを押してみます。
その後、Autify の「テスト結果」画面を確認してみましょう。起動させたかったテストプランが動き始めていれば、問題なく設定できていそうです!
あとは、「頻度」で設定したスケジュール通りにテストプランが起動されているかどうかを、別途確認できればOKです!
いかがでしたか?
少しとっつきにくいところもあったかもしれませんが、Autify のテストプランに限らず、いろいろな場面で応用できるサービスでありテクニックだと思いますので、知っておいて損はないかと思います!
それでは、良き「E2Eテストの自動定期実行」ライフを!