Selenium
SeleniumIDE
テスト自動化
KatalonStudio
KatalonRecorder

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 WebDriver Java language bindingをいれる、ChromeDriverをいれる、build.gradleファイルを正しく記述する、などなど。こうした準備が完了してはじめてテストコードを書くことができる。経験あるJava/Groovyプログラマならこなせるでしょうが、プログラミングの経験が乏しい人には敷居が高すぎるといわざるをえません。

いっぽう、Katalon Studioはテスト実行環境一式をZIPファイルに入れて提供します。テスタがダウンロードサイトからZIPファイルをダウンロードして展開してみると基盤ソフト一式が一切合切含まれているのがわかります。java.exeが含まれている。groovy-all-2.4.7.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後継以上のもの

Official Selenium Blogの記事にあるように、バージョン55以降のFireFoxではもはやSelenium IDEは動かない。しかしSelenium IDEのような手軽なWeb UIテストツールが使いたいというニーズは根強くある。わたしもかつてSelenium IDEを愛用していましたし。Katalon Studioの開発元であるKMS Technology社もKatalon Recorderを提供しています。Katalon RecorderはSelenium IDE後継という位置づけです。Selenium IDEのようなものがほしいという人はKatalon StudioをさておいてKatalon Recorderから入るのがいいかもしれません。

Quick StartページにKatalon RecorderとKatason Studioの比較表が掲載されています。Katalon StudioはSelenium IDE相当の機能を包摂しています。

Report機能が充実

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

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

Katalon StudioはDomain-specific IDE

Katalon Studioを起動して眺めた人は「なんだかEclipseと見た目が似ているなあ」と思うでしょう。それもそのはず。Katalon StudioのGUI部分はEclipse Modeling Frameworkを採用して作られています。テキストエディタの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#でやりたい人、Nodeでやりたい人もいるでしょう。そういう人にKatalon Studioは魅力的でないかもしれません。

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

Katalon StudioはKMS Technology社が開発したソフトウェアです。KMS Technology社はKatalon Studioのソースコードを公開しません。だからKatalon Studioはオープンソース・ソフトウェアではありません。しかしLicense AgreementLICENSEの条項にはKatalon Studioを無償で利用できるとあります。

商用で販売されているテスト自動化ツールはけっこう高価。無償利用可能なKatalon Studioならダウンロードしてすぐ学習を始めることができます。

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

結び

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

関連する記事