GradleでKatalon Studioのライブラリ管理を楽にする

# Katalon Studioのライブラリ取り扱いについて
KatalonではJavaのライブラリが使えます。jarファイルを読み込むことで提供されている様々な機能を利用することができます。

https://www.sejuku.net/blog/65313#:~:text=%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%A8%E3%81%AF%E3%80%81%E3%82%88%E3%81%8F%E4%BD%BF%E3%81%86,%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E5%A4%9A%E3%81%84%E3%81%A7%E3%81%99%E3%80%82
> ライブラリとは、よく使う複数のプログラムを再利用できるようにひとまとまりにしたものです。 Javaではクラスライブラリとも言います。 JavaではライブラリをJARファイル(拡張子が. jar)で提供することが多いです。

では、Katalon StudioでGradleを使った場合と使わなかった場合でどう違うか記述します。

## 通常ライブラリ読み込み
Katalonでライブラリを読み込むには対象のjarファイルを取得し、任意の場所(※)に置きます。その後、 project>settings>Libray Management にてaddすると任意のjarファイルを読むことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/33505e17-de49-72cb-bbdb-d100d239f639.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/f3db6ed5-39df-8ce7-9973-0def41ccdafa.png)

※読み込むjarファイルは通常プロジェクト直下のDriverなどに置きますが他の場所でも問題なく使えます。

こちらはjarファイルが多くなるとネットで探してダウンロードしてくるのも手間ですし、手動でaddするのも手間です。特にバージョンが変わった時などは関連ファイルをいちいち取り換える必要が出てきて間違いも起きやすいです。

## Gradleでのライブラリ読み込み
Gradle（グレイドル）はビルド自動化システムで、ライブラリのインストールができる他に自動テストを実行したりjarファイルを作成するなどができます。
KatalonでGradleを使うとbuild.gradleファイルにインストール情報を書き込み短いコマンドを実行するだけで必要なjarをインストールし、上述のLibray Managementでやったようなパスの紐づけをしてくれます。

build.gradleファイルにて`com.google.apis:google-api-services-gmail:v1-rev20230403-2.0.0`のインストールを指定した例
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/2a9eb3d1-5d94-8c1c-9138-c2c229f55b75.png)
コマンド実行
![スクリーンショット 2023-04-19 131924.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/d0da6329-b86c-e118-3cd0-03916be33c87.png)
今回の場合Driversフォルダに21個のjarがダウンロードされた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/8780d4ab-674c-fdd4-ed38-f843d71dbe40.png)
Libray Managementを見ても自動で追加されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/3ee4633f-74a9-712c-0dbc-bffdcba254e9.png)

こちらはコマンド恐怖症の方がいるかもしれませんが、例であげてるだけでも21個ファイルをたった1行の設定と短いコマンドだけで設定できるので大変便利です。

# Katalon StudioでGradleを使う手順
## JDKをインストールする
Gradleを使うためにはJava JDKのversion8以降が必要です。
[Oracleのマニュアル](https://docs.oracle.com/javase/jp/13/install/installation-jdk-microsoft-windows-platforms.html#GUID-DAF345BA-B3E7-4CF2-B87A-B6662D691840
)に従い進めます。本記事ではwindowsを使用していますので他のOSの方は参考元を参照ください。

### 既にJDKが入っているか確認
コマンドプロンプトを起動して以下を入力します。
``javac -version``
既にJDKが入っている場合は以下のようにバージョンが表示されますので8以上であればそのまま利用可能です。
```
C:\Users\user>javac -version
javac 20
```
JDKが入っていない場合は以下のようになりますので、インストールを進めましょう。
```
C:\Users\user>javac -version
‘javac’は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。
```

### インストーラーのダウンロード
以下より「jdk-20_windows-x64_bin.exe」をダウンロード
https://www.oracle.com/java/technologies/downloads/#jdk20-windows
ダウンロードしたファイルを実行してインストールを進めます。

### パスを通します
インストーラーでのインストール時にダウンロード先のディレクトリ指定があると思いますがデフォルトのままだと`C:\Program Files\Java`に`jdk-20`が作成されていると思います。
このままではwindowsはここにJDKがあることをわからないので「コントロールパネル＞環境変数を編集」へいきます
![スクリーンショット 2023-04-19 143356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/caba45c2-2dc4-f87f-205a-8e0f088f3002.png)
ユーザー環境変数の「Path」を「編集」します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/cb49ce33-b143-234e-31b0-a3f36ef77cce.png)
※他のユーザーでパソコンにログインした場合も同じJDKを有効にするにはユーザー環境変数ではなくシステム環境変数を設定する必要があります

「新規」ボタンにてインストールした`jdk-20`の`bin`までのパスを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/01acec72-5a60-cf1b-3171-c7cad2f45c9d.png)

### パスが通った確認
コマンドプロンプトを起動して以下を入力します。
``javac -version``
以下のようにバージョン表示されれば成功です。
```
C:\Users\user>javac -version
javac 20
```


## gradleのインストール
[Gradle公式サイト](https://gradle.org/install/)の案内に従います。
本記事ではwindowsの操作を記載していきます。

### ダウンロード
[ダウンロードページ](https://gradle.org/releases/)にて完全版(complete)を選択ダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/27bf2b4c-fa06-af17-a517-77c0bebe9dab.png)

Cドライブ内にGradleフォルダを作成します。
取得したzipを解凍し、`C:\Gradle\gradle-8.1`のような階層になるように配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/a28fde8b-97d7-4140-4636-a1a70c8dc344.png)

### パスを通す
「コントロールパネル＞環境変数を編集」へいきます
![スクリーンショット 2023-04-19 143356.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/caba45c2-2dc4-f87f-205a-8e0f088f3002.png)
ユーザー環境変数の「Path」を「編集」します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/cb49ce33-b143-234e-31b0-a3f36ef77cce.png)
※他のユーザーでパソコンにログインした場合も同じJDKを有効にするにはユーザー環境変数ではなくシステム環境変数を設定する必要があります

「新規」ボタンにて`C:\Gradle\gradle-8.1\bin`を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/7e83c48f-e8c2-1bd9-7534-5cd6841df118.png)

### インストールを確認します
コマンドプロンプトを起動して`gradle -v`を入力します。
以下のようにバージョン表示されればOKです。
```
C:\Users\user>gradle -v

------------------------------------------------------------
Gradle 8.1
------------------------------------------------------------
```

## KatalonStudioで使うGradleプラグイン
katalon-gradle-pluginの説明は[GitHub内](https://github.com/katalon-studio/katalon-gradle-plugin)にて記載があり、こちらの通りに進めます。
本記事では、サンプルとなるjarをインストールします。

### build.gradleを作成
Katalonプロジェクト配下に`build.gradle`を作成します※なければ
最近はプロジェクト作成時に最初から`build.gradle`ファイルがあるようなのでそちらをデフォルトでは以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/55552ea1-b63a-f1ae-62e9-ebac32b0775f.png)
`dependencies`にライブラリの設定を記載して使います。
デフォルトのコードでsampleがありますが、`compile`は古い記述です。現在は代わりに`implementation`を使います。
今回`build.gradle`の中は以下のように直して使います。
```plugins {
  id 'java-library'
  id "com.katalon.gradle-plugin" version "0.1.1"
}

repositories {
  mavenCentral()
}

dependencies {
  // sample dependencies
  implementation 'com.google.guava:guava:31.1-jre'
}
```
内容を保存します。
※サンプルとして`com.google.guava:guava:31.1-jre`を指定しています。これについての説明は[別の方の記事](https://qiita.com/disc99/items/c4b98045fc4682cbb620)をご確認ください。

### コマンド実行
コマンドプロンプトを開き、`cd`でプロジェクトのフォルダまで移動します
```
cd C:\Users\user\Katalon Studio\sample20230420
```

現在自分が触っているプロジェクトの場所がよくわかっていない場合、`Open containing folder`でエクスプローラ表示するとわかりやすいかもしれません
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/84592082-048e-07de-7287-9f738686da4d.png)

gradle実行する前に、KatalonStudioを閉じます
`gradle katalonCopyDependencies`を実行します。
成功すると「BUILD SUCCESSFUL」が表示されます
```
C:\Users\user\Katalon Studio\sample20230420>gradle katalonCopyDependencies

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed
```

### 依存関係がインストールできたか確認
コマンドが成功しただけではピンとこないと思うので、何が起きたか確認しましょう。
まず、プロジェクト内のDriversフォルダにてjarが追加されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/be22dc99-56a3-d7b4-f643-fa40e15bf53c.png)

また、再度KatalonStudioを開き`Project>settings>Library Management`を見ると追加されていることが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1058523/b09d4fee-53fd-c889-344d-3136eacb8bed.png)


以上で今後、ライブラリが必要になった場合に`build.gradle`を編集-＞プロジェクトの場所で`gradle katalonCopyDependencies`の実行で必要環境を得られるようになりました。