Katalon Studio で WEBサイトのテスト自動化 ( 非プログラマ向け , 初心者向け )

##概要
ここでは初めてのテスト自動化でもKatalonStudioを使ってWEBサイトでの動作を記録・実行できるようにインストールから実行までの流れを紹介します。

####動作環境

 - mac Mojave
  - ブラウザ：chrome
 - Windows10
  - ブラウザ：chrome  


##ダウンロード・インストール

####無料で利用開始後 課金要素有り
KatalonStudioで全機能を継続して利用するにはライセンスの購入が必要になりますが、
最初の1ヶ月間はトライアル無料になっています。
また、トライアル期間を終了した場合は一部の無料機能に制限された状態で利用可能となります。

####ダウンロードへのリンク
公式ダウンロードページ
https://www.katalon.com/homepage/

早速ダウンロードページに移動し「Get Katalon Free」をクリック
![スクリーンショット 2020-08-29 23.11.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/536c8abc-589b-51f0-08f6-21576ea52704.png)

####アカウント登録が必要
最初にサインアップが必要になるので登録しましょう。
![スクリーンショット 2020-08-29 23.18.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/e312aff9-29ae-80f6-6a9b-9fa349eca058.png)
ローマ字で名前、メールアドレス、パスワードを設定してGet Startedします

次にあなたの担当とこれまでのテストソリューションの経験を聞かれます。
ダウロードできるかには全く関係ないですが、Katalon開発チームが利用ユーザーの傾向を把握したいということでしょうから、可能ならサービス向上のために貴方の状況に近いものを回答をしましょう。
![スクリーンショット 2020-08-29 23.22.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/a4fa72a1-15d9-98a3-37d7-5fd841240b1d.png)

####サインアップ完了後にダウンロードできる
回答を選択してDownloadをクリックすると、以下の画面に遷移して利用中のOSに沿ったアプリがダウンロードされます
![スクリーンショット 2020-08-29 23.28.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/3aacc628-00ce-0c8c-72f2-1cf64059b754.png)

####インストール
macの場合はdmgファイルがダウンロードされると思うのでダブルクリックしてインストールしましょう。

windowsの場合はzipファイルがダウンロードされると思うので任意の場所に解凍するとすぐ使えます。実行するときには解凍後のフォルダに入っているkatalon.exeを開くので、デスクトップなどにショートカットを作成すると便利です。


##早速 Katalon Studio を開く
![スクリーンショット 2020-08-29 23.48.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/816b4949-5522-9ad5-cd52-4daff8979327.png)

windowsの場合はスタートメニューから検索できないので、katalon.exeをダブルクリックするかデスクトップにショートカットを作って開くようにしましょう。

初めてKatalon Studioを開くと以下のようにサインインでのアクティブ化を求められます。
ダウンロード時に作成したサインアップ情報を入力しましょう。
![スクリーンショット 2020-08-29 23.55.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/fc552515-a3b5-c72b-4e65-ddac29d43e41.png)

サインインしたあとは質問がやチップスが表示されたりするので、無視して閉じてもいいです
![スクリーンショット 2020-08-30 0.18.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/1366f713-7d1e-f301-2625-e5c89cc3d4d5.png)


##プロジェクトをつくる
まだプロジェクトを１度も作成したことがない場合は以下のようなところから「new project」選択でプロジェクト作成ができます
![スクリーンショット 2020-08-30 0.37.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/3796c9f4-5d44-8916-1fbd-19cb0cf46eba.png)

既にプロジェクトがある場合はメニューからFile > New > Project を選択しましょう
![スクリーンショット 2020-08-30 0.38.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/1a96500c-a75f-9bb3-f4da-1ccfec6e1622.png)

作成するプロジェクトを設定します
![スクリーンショット 2020-08-30 0.56.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/f0d7162c-ac1e-7d29-d3b5-27f9e601658c.png)

Name : お好きなプロジェクト名を半角英数で記載してください
Type : 今回はWebサイトのテストを作るので[web]か[Generic]を選択
Repository URL : Git利用の場合に設定しますが空けててOKです
Location : プロジェクトの保存先を指定してください(ワークスペース)
Description : プロジェクトの説明文を記載する場所ですが記載不要

設定したらOKで作成します

![スクリーンショット 2020-08-30 11.01.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/9f1abcf9-c3ab-9f61-b4d5-3404b6c52099.png)
プロジェクトを作成すると上記のようなファイル群が確認できます。
それぞれの説明は今回知らなくても大丈夫なので抜粋します。


##テストケースを作ってみる
###テストケースファイルの作成
テストケースを作成するには
Test Casesフォルダを右クリック > New > TestCaseを選択します
![スクリーンショット 2020-08-30 11.19.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/afe7f2a1-8a38-8000-4b85-81528e915e75.png)


設定画面が表示されるので任意で設定して「OK」をクリックください
![スクリーンショット 2020-08-30 11.19.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/c2541a11-b112-517d-9a75-7ee609a19760.png)

 - Name : 任意の名前を半角英数で記載
 - Description : テストケースの説明があれば記載(空白OK)
 - Tag : テストケースを探すときに使えるように任意の[タグ](https://docs.katalon.com/katalon-studio/docs/test-case-management-with-tags.html)を設定できます(空白OK)

空のテストケースが作成されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/f3227295-6608-6c0a-bf6e-863b9fef0e22.png)


###画面操作を記録(レコード)する
作ったテストケースにテスト内容を追加します。
動作内容を手打ちのコマンド指定で書くこともできますが、今回は画面で行った操作を記録できる機能を使いましょう。

画面左上の地球儀のようなマークに赤い印のあるアイコンをクリックしてください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/09acfa51-c700-d0fe-670b-eb56f7d2b78c.png)

Web Recorder のウィンドウが開きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/73729468-b9ba-ce27-741d-068e88c2ec61.png)
URL欄には最初にアクセスする対象URLを記載しています。
今回はKatalon開発チームで用意してくれているデモサイトのURLを設定します

URL : https://katalon-demo-cura.herokuapp.com/


新しくブラウザを開いて記録したいので、chrome アイコンの隣の▼メニューからChrome(Recommended)を選択します。
※GoogleChromeをインストール済みである必要があります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/7f4a042f-fb64-e1aa-a9d5-c6b6d4b17c1b.png)
選択に応じて、ブラウザが立ち上がります。


**エラーが出る場合**
自動テストでブラウザを動かすためには内部的にはdriverというものをつかっています。
そのdriverのバージョンとブラウザのバージョンが合わないときに以下のようなエラーがでます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/b9a3285a-3cd2-a915-2bf6-ca7119eaf486.png)
親切にもアップグレードしてくれるようなので、「OK」クリックでdriverをアップグレードしましょう。
アップグレードが完了すると、再度Chrome(Recommended)の選択でブラウザが立ち上がるはずです。


ブラウザが立ち上がり、動作の記録が始まる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/10cc41d1-9ddd-c6bb-0822-bc2a1e091eb0.png)
ブラウザが立ち上がると、Web RecorderのItemに
Open Browser (ブラウザを開く動作)
Navigate To URL (指定URLに遷移する動作)
が記録されていることが確認できます。

ここでデモサイトに表示されている[Make Appointment]をクリックしましょう
[Login]の画面に遷移し、Web Recorderには[Click]の動作が記録されました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/2d1b53c8-d039-5158-0d2b-4cd221e3ed9c.png)

画面上に表示されているDemo account通りにログイン情報を入力して[Login]をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/3e68054d-3ae9-a8f0-31ce-82fbc842127a.png)
Usernameは[Set Text]動作が記録されましたが
Passwordの入力は[Set Encrypted Text]が記録されました
これはPassword入力の際、暗号化したテキストを入力する動作記録になっているためです。賢い。

ログイン後の画面でせっかくなのでプルダウンなども動作記録を試します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/766fac7b-1b7e-85fd-7c96-c64f10ee5a19.png)
上から一通り触って記録しました

 - プルダウン選択
 - チェックボックス選択
 - ラジオボタン選択
 - カレンダーアイコンから日付入力
 - テキストエリアへ入力
 - ボタンクリック


###記録の終了
動作の記録を終了するには Web Recorder 右上の停止ボタンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/c5a1bcb4-6284-3527-10db-0c92a98fad04.png)
クリックすると [Close Browser] ブラウザを閉じる動作が追加されて終了します

保存前に記録した動作に日本語の説明をつけましょう
Descriptionの欄をダブルクリックすると入力欄を表示します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/b6d41ff0-7a33-23d5-edf6-21dfd5345810.png)
ここに動作の説明を書くことができるので、後で確認したときに何をしているかわかりやすいです

私はとりあえず全部の動作に説明をつけました（後から変更可能です）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/a52c3f61-021e-4167-3061-2614cf60814d.png)

これだけではテストケースに保存されていない状態なので、 [ Save Script ]をクリックして保存しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/eb8c2721-8faa-bed6-ac2a-fa8cba15b5c7.png)

[Add Element to Object Repository]の画面が表示されます。
次の項目「テストオブジェクトの保存」で確認してください。

###テストオブジェクトの保存
テストオブジェクトとは、クリックしたりテキスト入力した際に対象となった「ボタン」や「テキストエリア」を指す座標のようなもので、XpathやCSS Selectorで指定されています。
Xpath , CSS がわからない人も今回は気にしなくて大丈夫です。

こちらの画面は今回の動作記録で必要になったテストオブジェクトをどのフォルダに保存するか聞いています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/ffbe8570-4d08-52e8-7b97-a35310791945.png)
ここでは細かい指定ができないので、Create new folder as structure belowにチェックを入れて、全て選択中の状態でOKします。

Object Repositoryに新たにフォルダが作成されて、今回追加したオブジェクトを確認できます。
オブジェクトは画面ごとに分けたいのでObject Repository右クリック＞New > Folderでフォルダ作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/8a1d5c9b-9253-5e11-f28d-0e1622e32090.png)

フォルダを作ったあとはドラッグ&ドロップでオブジェクトを移動できます
私は以下のようにフォルダ分けしました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/a284c220-4b11-cd6c-554d-8ec69277aae4.png)

また、右クリック＞Rename　することで名前の変更ができます。
テストオブジェクトはテストケースを複数跨いで共通で使うので、後で何のオブジェクトか迷わないように以下を心がけましょう

- わかりやすい名前にする
- 画面毎,サイト毎にフォルダを作成する

###テストケースの確認
Test Cases > 作成したケース名 にて今回の動作記録が確認できます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/c0d11f5e-5766-1b40-7440-bcbd756277d1.png)

Manual タブから Script タブに切り替えてみましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/418dd171-f73b-ee8f-b962-349e6c40350e.png)

プログラムっぽいことが書かれています（というかGroovy言語のプログラムです)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/692e1466-597a-1847-e0ca-fb12e877ebfa.png)

プログラム開発に慣れている方はこちらの画面からソースを直接編集できます。
プログラムできない人でも、これが自動で記録できるというのはとってもありがたいです。

テストケースの作成は完了です。

##テスト実行してみる
作ったテストケースを実行するにはテストケースを開いている画面で右上の再生ボタンをクリックするとデフォルトで指定されているブラウザで実行されます。
再生ボタン隣の▼をクリックした場合はブラウザを選択して実行できます。
Chromeを選択して実行してみましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/1ed75d1f-f910-f1a6-5147-c316929cf1fd.png)

ブラウザが立ち上がって記録した動作が自動実行されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/eba22a3d-ef6e-6365-131a-331cbb037fa4.png)

実行が終了するとLog Viewerで書く動作の実行結果が確認できます。
緑のチェックマークが動作成功しましたの印です。
逆に失敗すると赤の×が表示され、右側に失敗のエラー内容が記載されます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/699916/2ee1279e-af8e-7f4a-1d47-8439d332203a.png)


以上がKatalon Studioでの簡単なWebサイトのテスト作成でした。
お疲れ様です。