Seleniumでスクリプトを書くのに使える記録ツールあれこれ

2017/12/14
Pocket

Seleniumの記録・再生ツールといえばSelenium IDEやSelenium Builderが有名ですが、これらのツールはFirefox55以降動作しなくなっていました1  。そこでSeleniumプロジェクトチームによって新バージョンの開発が進められ、先日ついに、Chromeで動作する新しいSelenium IDEのバージョン1.0がリリースされました。

今日は、この新しいSelenium IDEをはじめとする、無料で使える様々なSeleniumスクリプトの記録ツールについてご紹介します。

なおこの記事では、プログラマー向けに、「プログラミング言語によるスクリプト作成の補助ツール」という観点から各種ツールを比較します。プログラミング言語でスクリプトを書く場合も、スクリプト記録ツールは下記のような用途に活用でき、非常に便利です。

  • ブラウザ上の要素のロケータ2 を簡単に取得する
  • テストスクリプトの雛形を簡単に作成する

※この記事はSelenium/Appium Advent Calendar 2017の14日目の記事です。

目次

    1. 比較の観点
    2. Selenium IDE
    3. Katalon Recorder
    4. SideeX
    5. Kantu for Chrome
    6. Silk WebDriver
    7. Ranorex Selocity
    8. SWD Page Recorder
    9. Selenium Page Object Generator
    10. Selenium Builder
    11. WebDriver Element Locator
    12. FirePath
    13. 結論

比較の観点

「プログラミング言語によるスクリプト作成の補助ツール」という観点から、以下の点について比較します。

  1. OSに依存しないか(主にWindowsとMac)
  2. インストールが簡単か
  3. 操作の記録が可能か。補助ツールなので、そこまで高い精度は求めません
  4. HTML要素のロケータの取得や調査ができるか
  5. 記録したスクリプトを元に、プログラミング言語のコードを生成できるか
  6. 分かりやすく、使いやすいか
  7. オープンソースか(無料ツールでも、ソースコードは非公開の場合があります)

Selenium IDE

Selenium IDE
おすすめ度:★★★
公式サイト

最も有名なSeleniumの操作記録・再生ツールです。

従来はFirefoxアドオンとして提供されていましたが、動作しなくなったため、Chrome拡張としてSeleniumプロジェクト本家の方で書き直しが進み(Firefoxアドオン版もあるようです)、先日バージョン1.0がリリースされました。

従来版のSelenium IDEと比べるとまだまだ足りない機能もありますが、順調に開発が進んでいるので今後急速に改善していく期待が持てます。

ロケータの取得については、ブラウザ上の要素を選んでロケータを取得する「Select」の機能、ロケータに対応する要素がブラウザ上のどこにあるかを調べる「Find」の機能が実装済ですが、従来のSelenium IDEにあった、記録したロケータのタイプを切り替える機能(XPathからCSSセレクタに切り替えるなど)はまだ無いようです。

また、記録したスクリプトをプログラミング言語のコードに変換するエクスポートの機能もまだ無いようです。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さChrome拡張のため、簡単にインストールできる
操作の記録
ロケータの取得・調査1種類のロケータしか取得できない
コード生成×できない
使いやすさ
オープンソースかGitHubレポジトリ

Katalon Recorder

Katalon Studio
おすすめ度: ★★★
公式サイト

オープンソースではありませんが、無料で使えるSelenium IDEライクな無料の記録・再生ツールです。使いやすさや機能は現状のSelenium IDEよりも優れています。

なお、単なる補助ツールとしてではなく、より本格的にテストツールとして活用したい場合は、画面定義の共通化やデータ駆動・キーワード駆動テストなどを備えたKatalon Studioというものもあります。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さ Chrome拡張のため、簡単にインストールできる
操作の記録
ロケータの取得・調査
コード生成様々な言語にエクスポート可能
使いやすさSelenium IDEに近い操作感
オープンソースか×

SideeX

SideeX
おすすめ度:★★
公式サイト

Selenium IDEによく似たUIの、オープンソースの記録・再生ツールです。新しいSelenium IDEは、このSideeXをベースに開発されています。

発音は「sɪdɛks」らしいので3、日本語だと「シデックス」なんでしょうか。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さChrome拡張のため、簡単にインストールできる
操作の記録文字入力が記録されないなど、あまり高性能ではない
ロケータの取得・調査Selenium IDEと同等の機能が揃っている
コード生成×できない
使いやすさSelenium IDEに近い操作感
オープンソースかGitHubレポジトリ

Kantu for Chrome

Kantu
おすすめ度: ★★
公式サイト

Kantuという商用ツールのCommunity Editionです。

こちらもSelenium IDEによく似た記録・再生ツールですが、コマンド行が一度に2行くらいしか表示されないなど、UIが若干微妙な気がします。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さ Chrome拡張のため、簡単にインストールできる
操作の記録
ロケータの取得・調査1種類のロケータしか取得できない
コード生成×できない
使いやすさUIが若干微妙
オープンソースかGPL v34

Silk WebDriver

Silk WebDriver
おすすめ度: ★
公式サイト

Micro Focus社の商用ツールの無料エディションです。Windowsマシンでのみ利用できます。

操作の記録・再生とプログラミング言語のコードへの変換が可能ですが、ロケータの調査やタイプ切替を行う機能はありません。

OS非依存×Windowsのみ
インストールの簡単さ 簡単。コード生成機能を使うにはユーザー登録が必要
操作の記録
ロケータの取得・調査×取得・調査ができない&1種類のロケータしか取得できない
コード生成
使いやすさ
オープンソースか×

Ranorex Selocity

Ranorex Selocity
おすすめ度: ★
公式サイト

有名な商用ツールRanorexブランドのツールです。Chrome上で要素を右クリック、もしくはChromeの開発者ツールの画面から、ロケータを簡単に取得できますが、イマイチなロケータが取得されることも多いです。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さ Chrome拡張のため、簡単にインストールできる
操作の記録×できない
ロケータの取得・調査取得されるロケータが微妙
コード生成×できない
使いやすさ手軽に利用できる
オープンソースか×

SWD Page Recorder

SWD Page Recorder
おすすめ度: ★
公式サイト

与えられたウェブサイトのページオブジェクトのソースコードを生成するツールです。Windowsマシンでのみ利用できます。

ブラウザ上で要素を選んで名前をつけ、それをページオブジェクトのコードに変換することができます。UIが分かりにくい&使い辛く私は早々にギブアップしてしまいましたが、慣れれば簡単なページオブジェクトは手際よく作成できるのかもしれません。

OS非依存×Windowsのみ
インストールの簡単さ 簡単
操作の記録×できない
ロケータの取得・調査ロケータ取得・調査・切り替えなど一通りできるが、使いにくい
コード生成ページオブジェクトを生成できる
使いやすさ×慣れないと使いづらい
オープンソースかGitHubレポジトリ

Selenium Page Object Generator

Selenium Page Object Generator
おすすめ度: ★
公式サイト

与えられたウェブサイトのページオブジェクトのソースコードを生成するChrome拡張です。

SWD Page Recorderと違い、画面上の(おそらく)全要素がページオブジェクト定義として一括で書き出され、その結果どの要素に対応するかよく分からないロケータが大量に取得されます。また、うまく動作しないページもあるなど、実用的に使うには厳しい気がしました。

OS非依存Chrome拡張のため、OS非依存
インストールの簡単さ Chrome拡張のため、簡単にインストールできる
操作の記録×できない
ロケータの取得・調査取得されたロケータから目的のものを見つけるのが困難
コード生成生成されるが、あまり実用に耐えない
使いやすさボタンを押すだけでコード生成
オープンソースかAGPL v3

Selenium Builder

おすすめ度:
公式サイト

次世代のSelenium IDEになるのではないかと期待していましたが、結局残念ながら最近のFirefoxでは利用できなくなりました。

WebDriver Element Locator

おすすめ度:
公式サイト

ブラウザ上で要素を右クリックしてロケータを取得できる便利そうなFirefoxプラグインですが、こちらも最近のFirefoxでは利用できません。

FirePath

おすすめ度:
公式サイト

要素のXPathを取得する便利そうなFirefoxプラグインですが、こちらも最近のFirefoxでは利用できません。

結論

今後を考えるとSelenium IDEが良いと思いますが、機能が足りない点が気になるなら今はKatalon Recorderも良いと思います。

Pocket

注釈・出典
  1. Firefox 55 and Selenium IDE []
  2. Seleniumで要素を指定するための、id・XPath・CSSセレクタなどの情報 []
  3. SideeX []
  4. 例えばKantuを拡張した商用ツールを開発した場合、そのソースコードも公開する必要が生じます。もっとも、これが問題になるケースはほとんど無いと思いますが。。 []

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です