APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Autify連載Day4:こだわれ再利用!ステップグループを使ってみよう

はじめに

こんにちは!ACS事業部の田中です。

前回のブログでは、Autifyのシンプルなシナリオの作成方法ならびに一時的なテストの実行方法、テスト結果の確認方法をご紹介しました。 techblog.ap-com.co.jp

連載4回目となる本ブログでは、前回ご紹介したシナリオ作成手順から一歩進み、異なるシナリオ間で再利用可能なステップ群「ステップグループ」についてご紹介させていただきます。

ステップグループとは?

テスト対象の規模が大きくなり、多数のテストを作成するようになってくると、複数のシナリオにまたがって同じ手順を何度も繰り返す必要が出てくることがあります。

例えばログイン処理が必要なテストが複数ある場合、ブラウザの状態はシナリオ間で保持されないため各シナリオでログイン処理を実行する必要があります。
テストの個数が少なければ、温かみのある手作業によって手順を複製することは大した負荷にはならないでしょう。

しかし、テストの個数が増えてきたらどうでしょうか。
手作業による手順の複製は負荷の高い作業となります。また、ログイン処理に変更があった場合、すべてのシナリオを手作業で変更する必要があります。
想像するだけでもゲンナリしてしまいますね。

ここで登場するのが「ステップグループ」という概念です。

ステップグループとは、シナリオに挿⼊できる⼿順(ステップ)のセットです。
このステップグループをシナリオに挿入することで、同じ手順を複数のシナリオで再利用することができます。

ステップグループは該当する一連のステップを複製するわけではなく、シナリオから参照される形で挿入されます。
そのため、ステップグループの内容を変更すると、参照しているすべてのシナリオに変更が反映されます。

つまり、上記の例であればログイン処理をステップグループとして作成し各シナリオに挿入することで、ログイン処理の変更が必要になった場合にはステップグループの内容を変更するだけで済みます。

テスト自動化にこだわる上で、ステップグループは大変に心強い味方です。
Hattyのガッツポーズが見えるようですね!

2種類のステップグループ

現在、Autifyには以下2種類のステップグループが用意されています。

  • シナリオの冒頭で使うステップグループ
  • シナリオの途中/末尾で使うステップグループ

help.autify.com

「シナリオの冒頭で使うステップグループ」は、常に「ページを表示する」ステップから始まり、1つのシナリオにつき1回だけ使用可能なものです。
複数のシナリオで、テストの開始時に同じ処理を実行したい場合に有効です。
このステップグループはスクラッチまたは既存のシナリオから複製して作成することができます。

もう一つの「シナリオの途中/末尾で使うステップグループ」は、その名の通りシナリオの途中や末尾で行いたい一連のステップに使用することができます。
これは、実際のテスト対象ではないもののアプリケーションをテスト可能な状態にするために必要なアクションをカバーするのに有効です。
例えば、複数のシナリオの最後に使用するログアウト処理や、複数のアイテムを作製したうえでテストするケースなどで使用するとよいでしょう。
このステップグループは、既存のシナリオのステップを選択して新しいステップグループとして指定することで作成されます。

シナリオの冒頭で使うステップグループ

ステップグループが何者かを軽くおさえたところで、実際にシナリオの冒頭で使うステップグループを作成してみましょう。

前回のブログでは、ユーザーがAPCのホームページにアクセスし、言語切り替えを行いページが英語で表示されることを確認するシナリオを作成しました。
今回は、ホームページにアクセスして英語に切り替えるところまでを一連の操作としてステップグループにまとめてみます。

スクラッチで新しいステップグループを作成する

Autifyにログインした状態で、サイドバーの「ステップグループ」をクリックします。
シナリオを作成する場合と同様に、右上の「新規ステップグループ」をクリックすると新しいステップグループを作成することができます。

自動生成されたステップグループ名の横にある「変更」をクリックしてメタデータを編集したり、「開始URL」にテスト対象のアドレスを入力する部分もシナリオ作成と同様です。

ここで一つポイントなのが、メタデータのラベルに冒頭用のステップグループなのか途中/末尾用のステップグループなのかを示すものを付与することです。

Autifyのユーザーインターフェースでは現在、ぱっとみてどちらのステップグループなのかを判別することができません。

そのためメタデータにラベルを付与しておくことで、後から用途別にステップグループを見つけやすくなります。
ステップグループ数が少ないうちは気にする必要はないかもしれませんが、数が増えてきたときにきっと役に立つはずです。

開始URLにAPCのホームページのアドレスを入力したらレコーディングを開始し、画面左上の「EN」をクリックして英語表示に切り替るところまででレコーディングを保存します。
この部分の操作はシナリオ作成時と同様です。

これでスクラッチでの新しいステップグループの作成は完了です。
作成したステップグループ内の個々のステップはシナリオと同様に編集や再配置が可能です。

編集や再配置についての詳しい説明はのちの連載に譲りますが、ステップ間でマウスホバーしたときに表示されるプラス記号をクリックすることでステップを追加したりできます。

既存のシナリオからステップグループを作成する

では、既存のシナリオからステップグループを作成するケースも見てみましょう。

サイドバーのシナリオをクリックします。
既存のシナリオからステップグループを作成する手順は2つあります。

1つ目は、シナリオ一覧からステップグループにしたいステップが含まれているシナリオの右にある三点ドットボタンをクリックして 「ステップグループとして複製」を選択する方法。
2つ目が、シナリオの詳細画面を開いてから保存の右にある三点ドットボタンをクリックして 「ステップグループとして複製」を選択する方法です。

どちらの方法でもシナリオがステップグループが複製され、ステップグループ編集画⾯が⾃動的に表⽰されます。
不要なステップを削除してステップグループとして保存をしてください。

一つ注意をしておく点として、既存のシナリオからステップグループを作成する場合、シナリオ作成時に付与したメタデータがそのままステップグループに引き継がれます。
必要に応じてタイトルやラベル、説明文を変更しておくとよいでしょう。

シナリオの冒頭で使用するステップグループの利用

冒頭で使用するステップグループを作成したところで、実際にシナリオに挿入してみましょう。

ステップグループをベースに新しいシナリオを作成する場合も、基本的な手順はゼロからシナリオを作成するケースと同様です。
異なる点は、開始URLを指定するのではなく、「ステップグループを使用」を指定するところにあります。

使用するステップグループを指定して「レコーディングを開始」をクリックしてから、レコーディング操作を実施して保存する手順まではシナリオ作成と同様です。
例えば前回のブログで作成したシナリオと同様のものを作成すると、ステップグループの実行と続くアサーション実行の2ステップがシナリオとして保存されていることが確認できるかと思います。

シナリオの途中/末尾で使うステップグループ

ステップグループには2種類あると冒頭でご紹介しました。
冒頭で使用するステップグループの作成と利用方法をご紹介しましたので、ここからはシナリオの途中/末尾で使うステップグループについて見ていきましょう。

既存のシナリオからステップグループを作成する

シナリオの途中/末尾で使うステップグループは、その性質上冒頭で使用するものと異なり1から作成することはできません。
既存のシナリオのステップを選択して新しいステップグループとして指定することで作成されます。

今回は、前回のブログで作成したシナリオをベースに、英語に言語切り替えをしてアサーションを実行するまでをテスト前の準備と仮定してステップグループを作成してみます。

前回のブログで作成したシナリオの詳細画面を開き、ステップ2, 3 のチェックボックスを選択して表示されたコンテキストメニューから「ステップグループの作成」を選択します。

表示されたダイアログにメタデータ情報を入力して完了をクリックすることでステップグループの作成は完了です。
選択したステップがステップグループに転換されます。とても手軽ですね!

ステップグループの中身は、シナリオ中のステップグループのサムネイル画像をクリックすることで確認できます。
もちろん、ステップグループの一覧から中身の確認・編集も可能です。

シナリオの途中/末尾で使うステップグループの利用

作成したステップグループは、ステップ間でマウスホバーしたときに表示されるプラス記号をクリックし、「ステップを挿入」から「ステップグループ」を選択することでシナリオの任意の位置に挿入することができます。

まとめ・次回予告

本ブログでは前回作成したシナリオをもとにAutifyのステップグループの作成方法と利用方法をご紹介しました。
ステップグループは直感的に作成できること、また様々なシナリオで再利用できることからテスト自動化にこだわる上で大変に心強い味方となることを少しでも感じていただけたら幸いです。

さて、第3回、第4回とAutifyにおけるシナリオ作成についてご紹介してきました。
作成したシナリオは、実際に実行してこそ意味があります。

Autifyは色々なテスト実行環境が用意されていることもその魅力の一つです。
そこで次回の連載記事では、「クロスブラウザテスト」についてご紹介する予定です。

それではまた次回の連載でお会いしましょう! ここまでお読みいただきありがとうございました。

ACS事業部のご紹介

私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化やGitHub Enterpriseの導入のご支援をしております。
www.ap-com.co.jp www.ap-com.co.jp また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。 www.ap-com.co.jp

本記事の投稿者: 田中 絢子
AKSをメインにしたインフラとアプリの領域をご支援することが多いです。

Hattyは微笑んでいる表情が今のところの一押しです。