連載コンテンツ

  1. Qbook+
  2. 連載コンテンツ
  3. Webブラウザ自動化ツール「Selenium IDE」の今までとこれから

Webブラウザ自動化ツール「Selenium IDE」の今までとこれから

2018.05.07 江添 智之
Webブラウザ自動化ツール「Selenium IDE」の今までとこれから

Webシステムのテストを自動化する上でこれまでよく使われてきたツールである、「Selenium IDE」が昨年末にChormeウェブストアにてリリースされました。

原稿執筆段階(2018年4月)では、バージョン3.0.1となっています。また、Firefox版のアドインも 2018年4月11日より配信されており、これまではFirefoxのみで動作していたSelenium IDEが、Chrome、Firefoxのクロスブラ ウザに対応しています。

本稿ではSelenium IDEのこれまでの歴史を簡単に振り返り、また今回リリースされたバージョンのファーストインプレッションをご紹介します。

Selenium IDEとは

Selenium IDEは、Webブラウザ上で動作するキャプチャ・リプレイツールです。キャプチャ・リプレイとは、ユーザーの操作を記録し、それをそのまま実行できるようにする、という意味です。Webブラウザを自動操作するためのソフトウェアを開発しているオープンソースコミュニティ、SeleniumHQより開発・公開されています。

Seleniumコミュニティでは、現在はSelenium WebDriverという、プログラミング言語向けのライブラリの開発が主流となっていますが、Selenium IDEは、手軽に使用できる点、および Selenium WebDriverとの連携機能から多くのユーザーに使用されてきました。

このツールは2015年9月のリリースまでFirefoxのアドインとして提供されていました。

Selenium IDEのサポート終了と再始動

しかし、2017年8月、Firefoxのバージョン55へのアップデートに伴ってSelenium IDEはサポート対象外となり、動作させることができなくなってしまいました。Firefoxのバージョンを54のままにする方法や、企業向けの延長サポート版であるFirefox ESRを使用するなどの方法で、これまでのSelenium IDEを使用することはできますが、前者はセキュリティ上の問題がありますし、後者にしても2018年8月28日にはサポートが終了されるため、根本的な解決にはなりません。これ自体は以前からアナウンスもされていたことではありましたが、多くのユーザーが使用していたため、ネット上でも多くの戸惑いの声があげられました。

それから数ヶ月、Github上で開発が続けられていた次期バージョンのSelenium IDEが昨年末に公開されたのは、冒頭でご紹介した通りです。こちらはSelenium IDEと同様にブラウザ上で動作するテストツール「SideeX」をフォーク(派生開発)して作られています。SideeX自体がSelenium IDEにインスパイアされて開発されたツールであり、いわゆるインスパイア先を本家が採用した形となっています。

Selenium IDEを使ってみる

それでは、実際に使用してみましょう。Chrome版であれば、Chromeウェブストアから、Selenium IDEを検索することで該当のページが表示され、「Chromeに追加」ボタンを押すとインストールすることができます。

ChromeウェブストアのSelenium IDEインストール画面

インストール後に、アドレスバーの横に表示されるボタンをクリックすることで、Selenium IDEの画面が起動します。これは旧版のSelenium IDEと同じですね。起動した画面構成も基本的には旧版を踏襲しています。

Selenium IDE画面起動時

右上の「Start recording」(録画のマーク)ボタンをクリックすることで、ブラウザ上の操作を記録していきます。ここでは、「Google」のページで、「valtes」検索して表示してみる操作を行ってみました。

記録済のSelenium IDE

ここで「Run current test」(再生のマーク)ボタンをクリックすると、先ほどの操作を再現します。

動作後のブラウザ画面

旧版と比較すると、少し動作がゆっくりのような印象はありますが、手動で操作するのに比べれば十分に早く動作しています。

Selenium IDEのコマンド

「Command」リストボックスを開くと、Selenium IDEで用意されているブラウザ操作のコマンドが表示されます。ここで気になるのは、以前のバージョンでは存在していた「ClickAndWait」などの、「~AndWait」系のコマンドが存在しないことです。

従来の Selenium IDEでは、例えばリンクをクリックした際にリンク先のページを表示するまで、コマンドの実行を一時停止するために「Click」コマンドではなく「ClickAndWait」というコマンドを使用していました。先ほど記録したスクリプトでは「Click at」というコマンドが使用されています。これは、フォーク元であるSideeXにおいて「すべてのコマンドは必要に応じて自動的に一時停止される」とアナウンスされており、それが踏襲されていると考えられます。

これまでは一時停止させるのか、させないのかをスクリプト作成者が判断する必要があったため、うれしい変更点といえるでしょう。

その他の機能

詳しい紹介は省きますが、そのほか、Webページ内の要素をTarget欄に取得するボタン、逆にTarget欄の要素を検索するボタン、テストスイートの作成、実行速度の調整など、従来のIDEで使えた機能は基本的に用意されているようです。ただし、コマンドの中身までは精査していないので「以前はできていたのにできなくなった!」という操作もあるかもしれません。

また、ファイルの保存形式はこれまでのHTMLベースのものからJSON形式に変更となったようです。これまでのツールとの互換性や、Selenium WebDriverなどの形式へのエクスポート機能も現状では存在しません。

JSON形式のスクリプトファイル

まとめ

Selenium公式から後継となるツールが登場したことで今後の展望は明るくなったといえるでしょう。また、Web-Extensionというブラウザ共通の仕様を用いて作成されているため、今後のクロスブラウザ対応も期待できます。

ただ、現段階では過去のスクリプトとの互換性はないこと、他のテスティングフレームワークへのエクスポート機能がないこと、前バージョンでは豊富に用意されていたプラグイン類が使用できないことなど、まだまだ「同じことができる」というには足りていない状況といえます。

しかし、期待が高まれば機能追加もどんどん促進されていくと予想されますので、今後の更新が待ち望まれますね。

関連サイト

SeleniumHQブラウザ自動操作のオープンソースツールコミュニティの公式サイトです。
https://www.seleniumhq.org/

Selenium IDE (Chromeストア) Chromeの拡張機能で提供されるSelenium IDEのページです。
https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd

Selenium IDE (Firefoxアドオン) Firefoxアドオンで提供されるSelenium IDEのページです。
https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/

GitHub Selenium IDEの開発が行われているGitHubのページです。
https://github.com/SeleniumHQ/selenium-ide

資料ダウンロード

  • 事例資料:ドキュメントインスペクション

    オフショア開発の課題と解決策、発注品質を改善したドキュメントインスペクションの事例とコツをご紹介します。

  • ソフトウェア開発データ白書記載データとの比較資料

    一般的なテストプロジェクトとバルテスのテストプロジェクトを比較した冊子です。1000Hあたりの不具合検出数、実施テストケース数などを算出し、どの程度の差があるのかを比較しております。

  • 大手50サイトの診断結果から見る最新Webセキュリティの傾向 2018年版

    バルテスがセキュリティ診断を行った50サイトにおける脆弱性傾向をまとめた資料です。どういったレベルの脆弱性が見つかっているのか、その割合はどういったものなのかなどを具体的な数値としてまとめています。

江添 智之
ライター:
江添 智之

バルテス株式会社 R&C部 リーダー

WEB系、エンタープライズ系、医療系など様々な開発業務にプログラマ、システムエンジニア、プロジェクトリーダーとして携わった後、バルテスにてテストエンジニア・コンサルタント業務に従事。現職では主にテスト業務に関する研究開発および人材育成を担当。Scrum Alliance認定スクラムマスター、ディープラーニング検定(G資格)、ネットワークスペシャリスト、データベーススペシャリスト、JSTQB Advanced Level(テストマネージャ、テストアナリスト)など、ソフトウェアの開発およびテストに関する資格を多数取得。JaSST'19 Kansai 実行委員長。現在の関心は機械学習のテスト分野への応用と効率的なテスト自動化。

関連記事