Autifyでテスト自動化を試してみる

# はじめに

Autifyはとても簡単なツールです。
習うより慣れろ、的なツールではあると思いますが、
初めてこういったツールを触る方がどう習熟していけばいいか、迷った方の参考になるように、
一通り触れるようになるまでに私がやった手順を書き起こしておこうと思います。

# 手順
ざっくり手順は下記のとおりです。

1. 環境の準備
1. Autifyの用語を理解する
1. 簡単なテストを作ってみる
1. 複雑なテストを作ってみる
    1. ステップグループの使用
    1. データ駆動
    1. JSステップの使用※

※JSステップについてはJSの知識なども必要になるため、今回の内容には含みません。
今後書き起こすかもしれませんが、今のところは未定です。

## 1. 環境の準備

Autifyを使用するには下記を準備する必要があります。

- Autifyのユーザー
- Google Chromeと拡張機能「Autify Recorder」

これらについては公式ページが詳しく書いていますので、[ユーザー登録と環境セットアップ](https://autify.zendesk.com/hc/ja/articles/900003243946-%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E7%99%BB%E9%8C%B2%E3%81%A8%E7%92%B0%E5%A2%83%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97)をご確認いただくのが良いと思います。

## 2. Autifyの用語を理解する

Autifyは独自の用語があります。
さらっと下記を知っておけば良いと思います。

- テストシナリオ
    - Autifyにおけるテスト実行単位となる、一連のまとまり
- ステップ
    - テストシナリオを構成する操作や検証の一つ一つ
- ステップグループ
    - よく使う一連のステップをまとめたもの
    - テストシナリオの一番最初に使用することができ、テストシナリオの中で一つだけ使用することができる（2021/8現在)
- テストプラン
    - 複数のテストシナリオをまとめて、テストの実行を効率的に行うための仕組み
    - 詳細な構成は下記の図の通り

![Autify.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/af31dd26-5bde-fd50-c6e8-37f0a639e6f0.png)


## 2. 簡単なテストを作ってみる

テスト対象を[HOTEL PLANISPHERE](https://hotel.testplanisphere.dev/ja/index.html)に設定して、簡単なテストを作成します。
※HOTEL PLANISPHEREはテスト自動化研究会が作成した自動化練習用のサイトです。

手順としてはHOTEL PLANISPHEREにログインして、マイページと表示されているかを確認するところまでを作成しました。

下記のような感じになっていればOK。
![はじめてのテスト.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/ea64f5ec-36c4-a34a-0bc0-af2559aec38f.png)

これを作るには下記の手順をふんでいただければOKです。

1. Autifyのシナリオから新規シナリオを押下
1. ウィンドウサイズを好きなサイズに、開始URLにhttps://hotel.testplanisphere.dev/ja/index.htmlを設定して、レコーディングを開始を押下
    - ここでシナリオ名を変えておきたい人は「無題のシナリオ」の横にある変更から変更しておいてください。
1. HOTEL PLANISPHEREが起動したら、ログインを押下
1. メールアドレスとパスワードを入力する
1. ログインを押下する
1. 「マイページ」が表示されていることを確認する
1. 保存を押下する

確認のコマンドについては画像の左から4つ目のアイコンをクリックすることで挿入できます
![Autify Rec.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/212a8a1f-0ab0-cfa8-3721-bfc603f80dd7.png)
また左から2つ目のアイコンが赤い丸になっている時にAutifyはレコードをしています。

これでテストの作成ができました。
簡単！

## 3. 複雑なテストを作ってみる

### 3-1. ステップグループの使用

ステップグループはステップグループから新規ステップグループを押下することで作成できます。
中身ついては、先程作成したログインの手順を実装してみましょう。
実際に作るのはシナリオの作り方と同じなので、割愛します。

ステップグループが作成できたら、シナリオで使用をしてみましょう。
手順は下記の通りです。

1. 新規シナリオを作成する際にステップグループを使用、というタブがあるのでそちらを選択する（下記図参照）
1. 自分が作成したステップグループを選択する
1. レコーディングを開始を押下する
![ステップグループ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/ed2ed7eb-3aee-fdb4-2a6a-47d3e2e06bf4.png)

これでステップグループを使用することができます！
簡単！

### 3-2. データ駆動

ここまででは作成していませんが、HOTEL PLANISPHEREで宿泊予約のテストをする際などに使用できます。
宿泊予約で様々なパターンでテストしたい、という場合はこのデータ駆動を使用してみましょう。
![宿泊予約.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/0e604e4b-62e0-17c8-a6c6-dd5ae926e03e.png)

データを登録する手順は下記のとおりです。

1. 登録したいデータをCSVで作成する
1. データを登録したいテストシナリオを開き、データタブを選択する
1. CSVアップロード（UFT-8）を押下し、作成したCSVを選択する
1. 保存を押下する

登録ができて、下記のようになれば成功です！
![データ駆動.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/0bc8d737-47bb-21c8-6e8d-155da641f6eb.png)

登録したデータを使用する手順は下記のとおりです。

1. シナリオを開き、データ駆動で書き換えたいステップを選択する（選択すると下記図のようにステップの詳細が開きます）
 ![データ駆動1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/0214c364-2b27-331e-849b-5a6c3bf06673.png)

1. 入力値「値を指定」のプルダウンを「データ」に変更し、データのどのヘッダーの列から値をとってきたいかを選択する
![データ駆動2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121319/c9b93eea-ea71-0a0e-c75a-d40c627c9fe2.png)
1. 保存を押下する

以上でテストをデータ駆動にすることができます。
簡単！



以上でAutifyでできることはほぼほぼ網羅できました。
とっても簡単ですね！