前回の記事では、【自動化テスト入門⑧】Katalon Studioでよく使うWebUIキーワードまとめ|実務で役立つコード集を紹介しました。
今回は、GitHub Actionsを利用して、GitHubへコードをPushしたタイミングでKatalon Studioのテストを自動実行する環境を構築してみます。
CI(Continuous Integration:継続的インテグレーション)を導入することで、コードを更新するたびに自動でテストを実行できるようになります。
今回は以前作成したチケット予約練習サイトを対象 (チケット販売システム記事) に、自動テストを実行する設定を行いました。
使用した環境
- GitHub
- GitHub Actions
- Katalon Studio
- チケット予約練習サイト(テスト対象)
今回は、チケット予約練習サイト用に作成したKatalonプロジェクトを利用して、自動実行できるか試してみます。
GitHub Actionsとは?
GitHub Actionsは、GitHubに標準で用意されているCI/CDサービスです。
例えば、
- Push時にテストを実行する
- Pull Request作成時にビルドする
- デプロイを自動化する
といった処理を自動で実行できます。
今回は、「PushされたらKatalon Studioのテストを実行する」というWorkflowを作成します。
Workflowを作成する
GitHub Actionsでは、リポジトリ内のフォルダにYAMLファイルを配置することでWorkflowを作成できます。
- Add File → Create new file

- ファイル名を作成し、コード入力(.yml)

Workflowの定義
Workflowは、「いつ(Trigger)・どこで(Runner)・何をするか(Job・Step)」を定義する設定ファイルです。
基本的な構成は以下のようになります。
| 項目 | 説明 |
|---|---|
name | Workflow名 |
on | 実行するタイミング(Trigger) |
jobs | 実行する処理 |
runs-on | 実行するOS・環境 |
steps | 実際に実行する処理 |
Ticketサイト側のWorkflow
今回は、ticket-practiceリポジトリにPushがあったタイミングで、自動的にKatalonプロジェクトへテスト実行のリクエストを送るようにしました。
例:
name: Trigger Katalon Tests
on:
push: # mainブランチへPushされた時にWorkflowを開始
branches : [main]
jobs:
trriger:
runs-on: ubuntu-latest
steps: # 別リポジトリへイベント(trigger-tests)を送信
- name: Dispatch Event to Katalon Repo
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
# テストを実行するKatalonプロジェクトを指定
repository: hyoni91/ticket-booking-automation
event-type: trigger-testsつまり、
ticket-practice
↓Push
GitHub Actions起動
↓repository_dispatch
ticket-booking-automationへ「テスト開始」のイベント送信
という流れになります。
Katalon側のWorkflow
ticket-booking-automationリポジトリでは、先ほどrepository_dispatchで送信されたtrigger-testsイベントを受け取り、Katalon Studioのテストを実行します。
例:
name: Ticket Booking Automation CI (On Demand)
# トリガー:Ticketサイトからの「trigger-tests」という合図が来たら実行する
on:
workflow_dispatch: # GitHubの画面から手動で実行できるようにする
repository_dispatch:
types: [trigger-tests]
jobs:
test:
runs-on: ubuntu-latest
steps:
# 1.Katalonのテストコードをローカル(仮想環境)に持ってくる
- name: Checkout Code
uses: actions/checkout@v4
# 2. Katalon Studioの実行環境を立ち上げてテストを実行
- name: Run Katalon Studio Tests
uses: katalon-studio/katalon-studio-github-action@v4.0
with:
version: '9.6.0'
projectPath: '${{ github.workspace }}'
args: '-noSplash -retry=0 -testSuitePath="Test Suites/Ticket/Ticket_case_suites" -apiKey="${{ secrets.KATALON_API_KEY }}" --config -webui.autoUpdateDrivers=true'
# 3. テスト完了後、レポート(結果)をGitHub上に保存する
- name: Upload Test Report
if: always()
uses: actions/upload-artifact@v4
with:
name: katalon-reports
path: Reports/
#結果:トリガーは成功した。テストはKatalonのライセンスが必要(有料)なのでSkipPushして動作確認
Workflowを作成したら、GitHubへPushします。
※今回は動作確認のため、GitHub Actionsの「Run workflow」から手動で実行しました。
するとGitHub Actionsが起動し、自動でWorkflowが実行されます。

今回はWorkflow自体は正常に開始され、Pushをトリガーとして実行されることを確認できました。
実行結果
しかし、実際にKatalon Studioのテストを実行する段階でエラーとなりました。
原因を調べたところ、GitHub Actions上でKatalon Runtime Engine(KRE)を実行するには、ライセンスに関する制限があることが分かりました。
そのため、今回確認できた内容は以下のとおりです。
- ✅ Workflowの作成
- ✅ PushによるWorkflowの自動起動
- ✅ repository_dispatchによる別リポジトリへのイベント送信
- ✅ Katalon Workflowの起動
- ❌ Katalon Runtime Engine(KRE)のライセンス制限によりテストは実行できませんでした。

終わりに
今回は最後までテストを実行することはできませんでしたが、
- GitHub Actionsの基本的な仕組み
- Workflowの作成方法
- Pushをトリガーに自動処理を開始する流れ
について理解することができました。
実際に試してみることで、「どこまで無料で利用できるのか」「どこからライセンスが必要になるのか」も確認できたため、良い勉強になりました。
今後は、PlaywrightなどGitHub Actionsとの相性が良いツールも試しながら、自動テスト環境を構築していきたいと思います。

