Help us understand the problem. What is going on with this article?

Katalon Studioとはどんなソフトウェアか

はじめに

わたしはWebアプリケーションのUIをテストする作業をソフトウェアで自動化する技術に関心があります。2018年1月以来わたしは Katalon Studio というソフトウェアに注目しています。Katalon Studioとはどういうソフトウェアか? Katalon Studioの特徴を要約した文章がCapterra > Automated Testing Software > Katalonにありました。

About Katalon Studio

Katalon Studio revolutionizes the use of open-source test automation frameworks such as Selenium and Appium by eliminating their technical complexities to allow testers to efficiently setup, create, run, report and manage their automated tests. It also offers a viable alternative to commercial test automation solutions that are unaffordable to many small and medium-sized teams. Katalon Studio is made available to the test automation community at no cost.

Katalon Studioについて

Katalon Studioはオープンソースのテスト自動化フレームワーク(SeleniumとAppium)をぐっと扱いやすくしてくれます。テスターはKatalon Studioを使ってSeleniumとAppiumをすんなりセットアップすることができます。自動化テストを効率的に作成・実行し、レポートを出力し、テスト全体を管理することができます。高価な商用テスト自動化ソリューションを導入するのをためらう中小規模のチームにとってKatalon Studioはぴったりです。Katalon Studioは無償で利用可能です。

なるほど、そのとおり。ですがもう一歩踏み込んだ説明がほしいところです。わたしは約3ヶ月間、Katalon Studioをやってみました。その経験にもとづきわたしなりに Katalon Studio を紹介したいとおもいます。

フル・スクラッチなSeleniumテスト

デスクトップPC上でSeleniumとWebブラウザを使って自動化テストしようと志したとしましょう。

2017年末時点ならわたしはフル・スクラッチなSeleniumテストを作ったでしょう。ビルドツール Gradle を基盤として使う。Gradleのビルド・スクリプトにtestターゲットを作りこむわけですが、JavaではなくてGroovy言語でテストコードを書く。JUnitじゃなくてテストフレームワーク Spock を使う。テスト対象となるWebページを表すPage ObjectをGroovyで書くためにGEBを使う。しまいに Seleniumプロジェクトの WebDriver Java language bindingChromeDriver が登場する。わたしのテストコードがChromeブラウザを遠隔操作してWebサイトのページを問い合わせる。そして応答された画面のなかをわたしのテストコードがあれこれ仔細にチェックする。このように構築された自動化テストを絵にすると次の図になります。この図のなかで水色に塗った部分がわたしがエディタで書いたテストコードを表します。

Selenium_testing_full_scratch.png

Katalon Studioで構築したSeleniumテスト

いっぽう、Katalon Studioを使って同等な自動化テストを実現することができます。それを絵にすると次のような図になります。この図のなかで水色と白のグラデーション模様で塗った部分がわたしが自作したテストコードです。Katalon StudioのGUIツールによってテストコードの下書きを半自動的に生成することができます。テスタはテストコードをKatalon Studio組み込みのエディタで修正しデバッグします。

Selenium_testing_with_KatalonStudio.png

Katalon Studioの特徴

ふたつの図を見比べながらKatalon Studioの特徴を述べましょう。

自動化テストを開発する環境を簡単・確実に構築できる

フル・スクラッチなSeleniumテストの場合、テスタが自分のPCにテスト実行環境を準備するのが面倒です。基盤となるソフトウェアをネットからダウンロードしてインストールし正しく設定することを自力でやらねばならない。Java実行環境を入れる、Groovyをいれる、Gradleをいれる、SpockとGEBをいれる、Seleniumのjarをいれる、Selenium WebDriver Java language bindingをいれる、ChromeDriverをいれる、build.gradleファイルを正しく記述する、などなど。こうした準備が完了してはじめてテストコードを書くことができる。経験あるJava/Groovyプログラマならこなせるでしょうが、この分野の経験が乏しい人には敷居が高すぎるといわざるをえません。

いっぽう、Katalon Studioはテスト実行環境一式をZIPファイルに入れて提供します。テスタがダウンロードサイトからZIPファイルをダウンロードして展開してみると基盤ソフト一式が一切合切含まれているのがわかります。java.exeが含まれている。groovy-all-2.4.7.jarがある。selenium-server-standalone-x.x.x.jarがある。chromedriver.exeがある。Katalon StudioのZIPファイルを展開したディレクトリの直下にある katalon.exe 起動するとKatalon Studioが立ち上がり、その時点ですでにテストが実行可能になっている。準備がとても簡素。だからプログラミングの経験が乏しい人でもKatalon Studioを使ってSeleniumベースの自動化テストを学びはじめることができる。

GUIツール群とcom.kms.katalonのライブラリ群

フル・スクラッチなSeleniumテストにおいてわたしのテストコードが果たしていた役割の大部分が、Katalon StudioにおいてはKatalon Studio組み込みのGUIツール群とcom.kms.katalonのライブラリ群に置き換えられます。だからテスタが自作しなければならないテストコードの量がフル・スクラッチの場合に比べて圧倒的に少なくて済みます。

フル・スクラッチなSeleniumテストでGradle、Spock、GEBが担当していた役割は、Katalon Studioが提供する組み込みの機能で代替されます。

Selenium IDE後継以上のもの

かつてSelenium IDEという手軽なWeb UIテストツールがありました。Official Selenium Blogの記事にあるように、バージョン55以降のFireFoxではもはやSelenium IDEは動かない。しかしSelenium IDE後継へニーズは根強くあると思われます。Katalon Studioには Record & Playback機能が組み込まれておりSelenimu IDE後継の役を果たしています。

なおKatalon Studioの開発元であるKMS Technology社はGoogle ChromeブラウザのプラグインKatalon Recorderを提供しています。Selenium IDEと同じようなものがほしいという人はKatalon Recorderから入るのもいいかもしれません。Quick StartページにKatalon RecorderとKatalon Studioの比較表が掲載されています。また日々のブラウザ操作業務をマクロで効率化〜SeleniumとKataonを使ってみた〜にKatalon Recorderに関する詳しい紹介があります。しかしわたしは元Selenium IDE愛好者にたいしてKatalon RecorderよりもKatalon Studioに手を出してみてはいかが?とお勧めします。

Report機能が充実

フル・スクラッチなSeleniumテストの場合、テストを実行した結果のレポートはSpockフレームワークが出力したxmlファイルのみです。大きなXMLファイルをエディタで開いて中を読み解くのはなかなか疲れる作業です。
それにくらべてKatalon Studioはテスト結果を会話的に閲覧するBasic ReportというGUIを備えています。大局観から個々のFAILUREへとドリルダウンしながら見ることができるので便利です。

開発元KMS社は自動化テストの実行結果を分析するツールに注力しています。わたしはまだ触っていませんがKatalon TestOpsというプロダクトもあります。ただしTestOpsは有償です。

Katalon StudioはEclipseベースのドメイン特化型IDE

Katalon Studioを起動して眺めた人は「なんだかEclipseと見た目が似ているなあ」と思うでしょう。それもそのはず。Katalon StudioはEclipse Rich Client Platformを基盤として作られています。テキストエディタのsettingsのUIなんかまるでEclipseと同じです。Katalon Studioで作ったプロジェクトのディレクトリの内容もEclipseで作ったプロジェクトのディレクトリとそっくりです。Eclipseを知っている人はKatalon Studioに親しみを覚えるでしょう。

真に汎用的な統合開発環境であるEclipseを基盤としつつWebサイトの画面を自動化テストするためのコードをGroovy言語で開発することに特化したDomain-specificなIDEそれがKatalon Studioであるといえます。

カスタマイズはGroovy言語で

使い手がどのプログラミング言語を好むか?それがKatalon Studioを採用するかどうかの分かれ道かもしれません。Katalon StudioはGroovy言語で実装されています。テスタがカスタマイズするときもGroovy言語でコードを記述することが必要です。わたしはJava/Groovyが好みなのでそれを喜びました。しかしC#でやりたい人、JavaScript/Nodeでやりたい人もいるでしょう。そういう人にKatalon Studioは魅力的でないかもしれません。

無償で利用可能であること

Katalon StudioはKMS Technology社が開発したソフトウェアです。License AgreementLICENSEの条項にはKatalon Studioを無償で利用できるとあります。商用で販売されているテスト自動化ツールはけっこう高価です。Katalon Studioならダウンロードしてすぐ学習を始めることができます。なお2019年10月にKatalon Studio version7がリリースされてver6.xまでは無料だった機能が一部有償化されました。それについては後述します。

ドキュメント

Katalon Studioのドキュメントは十分充実した内容だとおもいます。ぜんぶEnglishですが。

ユーザForum

Katalonのユーザが集うユーザフォーラムがあります。ここでKatalon Studioに関する質問をすることができます。先達がきっと速攻で答えてくれます。ぜんぶ英語ですが。

部分的にオープンソース化しつつあること

2018/12/26 訂正: Katalon Studioはオープンソース・ソフトウェアではありません。2018年夏までKMS Technology社はKatalon Studioのソースコードをまったく公開していませんでした。しかし2018年の秋頃からKatalon開発チームがGitHubで彼らのコードの一部を公開するようになりました。ユーザーとのインターフェース部分であるbuilt-inのkeywordsのソースコードはすっかり公開されています。ユーザがKatalonの動作に疑問を持った時にGroovy言語で書かれたソースコードを読んで考えることができるようになりました。わたしもソースコードを読んで改善できる箇所を見つけた時ユーザフォーラムに投稿したことが一度ならずあります。

開発プロジェクトが活きている

2018年3月にKatalon Studioの最新版はv5.3.1でした。2018年12月20日時点で最新版がv5.10.0です。リリースノートをみればわかるように、2018年には月に1回以上のペースでバージョンアップがされています。ユーザ要望がすみやかに実現され、バグ対策がとっととおこなわれています。2019年10月にはv7.0のベータ版が公開されました。

結び

次回はKatalon Studioのインストールについて書くつもりです。

関連する記事

Ver7で一部が有償化された

2019年10月にKatalon StudioのVer7.0がリリースされました。GitHubのReleaseページ
をみれば履歴をたどることができます。開発元Katalon.comはVer7.0のリリースと同時に製品体系を再編し一部の機能を有償化しました。具体的には https://www.katalon.com/pricing/ を参照のこと。製品体系が

  1. Katalon Studio --- 無償
  2. Katalon Studio Enterprize (KSE) --- 有償
  3. Katalon Runtime Engine (KRE) --- 有償

の三本立てとなりました。Version 6.xに含まれていた機能のほとんどはVersion 7.0のKatalon Studioの無償版に継承されています。しかしVersion 6.xまで Console Mode という名前で呼ばれていてKatalon Studioに含まれていたものがKatalon Runtime Engineと名付けられ、単品で有償化されました。コマンドラインでKatalon Studioを実行することがタダではなくなったわけです。従来タダだったものを有償化したことについてユーザフォーラムにはネガティブな書き込みがいくつかなされました。Jenkinsの制御のもと継続的インテグレーションのサイクルのなかでKatalon Studioを使っていた上級ユーザがいくつかGood byeといって去っていったようです。しかし開発元はKRE有償化という方針を変えないつもりのようです。Katalon Studioという製品の開発を継続していくために必要な収益をあげたいという台所事情がうかがえます。

Katalon Studio Enterprizeには無償版のKatalon Studioに含まれていない上級者向けの機能がバンドルされています。具体的には https://www.katalon.com/pricing/#how-is-katalon-studio-enterprise-different-from-katalon-studio を参照のこと。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away