Selenium(セレニウム)とは、Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。ブラウザ操作からテストコードを作成でき、Webベース管理タスクの自動化も行えます。

オープンソースの自動テストツール/Seleniumとは

Selenium(セレニウム)とは、Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。ブラウザ操作からテストコードを作成でき、Webベース管理タスクの自動化も行えます。

目次

「Selenium」基本情報
■概要
・基本説明
■Seleniumの経緯と機能構成
・Selenium1「Selenium RC(Remote Control)」or「Selenium Core」
・Selenium2「Selenium WebDriver」
・Selenium3
■主な特徴
・テストスクリプト作成(ブラウザ操作ベース)
・テストスクリプト作成(HTML記述ベース)
・テストスクリプト作成(開発言語ベース)
・回帰テストの自動化向け
・サポートブラウザ
・サポートOS
■同様製品
■オフィシャルサイト
・オフィシャルサイト
・ライセンス情報
・ダウンロード

「Selenium」プロダクト
■テストスクリプト統合開発環境「Selenium IDE」
・概要
・統合開発環境
・ブラウザ操作内容保存機能
・プラグインシステム
・その他のポイント
■WebアプリケーションUIテストツール「Selenium Remote Control」
・概要
・クライアント/サーバ構成
・複雑なテストに対応
■Webブラウザ操作用APIライブラリ「Selenium WebDriver」
・概要
・経緯
・対応できる主な操作
・その他の機能
■複数テスト同時実行コンポーネント「Selenium Grid」
・概要
・メリット① テスト時間の大幅短縮
・メリット② 膨大な組み合わせテストに対応

「Selenium」基本情報

■概要

Selenium(セレニウム)とは、Webアプリケーションのテスト自動化を実現するブラウザ駆動型テストツール群です。ブラウザ操作からテストスクリプトを作成でき、Webベース管理タスクの自動化も行えます。

基本説明

Seleniumは、Webブラウザの自動操作ライブラリで、さまざまな機能を備えています。

自動テストフレームワークと組み合わせることでテストの自動化を実現でき、複数ブラウザプラットフォームでのテスト実行をサポートし、自動で画面キャプチャを保存できます。

また、Webベース管理タスクの自動化にも利用できます。

■Seleniumの経緯と機能構成

Seleniumは、初期版から最新版に向けて、機能構成が大きく変更されています。

Selenium1「Selenium RC(Remote Control)」or「Selenium Core」

2004年、Selenium1がリリースされました。

Selenium1は、Selenium2が登場するまで中心的プロダクトでしたが、現在では、Selenium1はメンテナンスモードとなり、積極的なサポートは行われていません。

Selenium2「Selenium WebDriver」

2011年、「Selenium Core」と、Google社が開発していた「WebDriver」との統合が図られ、Selenium2としてリリースされました。

Selenium2は、「Selenium Coreテクノロジー」と「WebDriver API」をサポートし、テスト移植の柔軟性を高め、より固着力のあるオブジェクト指向のAPIなど、優れた機能を提供します。

後方互換性のためにSelenium1の「Selenium RC」インターフェースをサポートしています。

Selenium3

2016年、中核技術の「Selenium Core」を切り離して、「WebDriver」にのみ対応したバージョンがSelenium3としてリリースされました。

TOPに戻る

■主な特徴

テストスクリプト作成(ブラウザ操作ベース)

ブラウザアドオン「Selenium IDE」を利用して、ブラウザに対して操作すると、その操作履歴が保存され、HTMLテストスクリプトが作成されます。

ブラウザ操作によりテストスクリプトのベースを作成して、必要に応じて微調整を加えれば、テストスクリプトが完成します。

HTMLテストスクリプトを実行すれば、同様の操作をリプレイできます。

テストスクリプト作成(HTML記述ベース)

ブラウザ操作ベースを使用せずに、HTML記述でもテストスクリプトを作成できます。

1行が1手順を表す3カラムのtableとして記述する形式で、HTMLを扱えればプログラマーではなくてもテストスクリプトを作成できます。

テストスクリプト作成(開発言語ベース)

開発言語を使用したテストスクリプト作成も行えます。

「Java」「C#」「Ruby」「PHP」「Perl」「Python」「JavaScript(Node.js)」などの言語をサポートしています。

「ログイン処理などの定型的な共通処理を別のメソッドとして切り出す」などのプログラマブルなテストスクリプトを作成できます。

テストスクリプトは各言語用テスティングフレームワークと連携して記述します。例えば、Javaの場合なら、JUnitのテストスクリプトとしてIDE上から記述/実行します。

回帰テストの自動化向け

Seleniumを使用する場合、「テストスクリプト作成」「実行環境維持」「テスト実行所要時間」など、利用コストは高めになります。

「回帰テストの自動化」など、繰り返し利用が多いケースへの適用が効果的とされています。

サポートブラウザ

Seleniumは、主要ブラウザに対応しています。
・Chrome
・FireFox
・Internet Explorer
・Safari
・Opera
・Android標準ブラウザ
・iOS標準ブラウザ など

サポートOS

OSは「Windows」「OS X」「Linux」「Solaris」などをサポートしています。

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Appium」「Apache Jmeter」「Jenkins」など。

TOPに戻る

■オフィシャルサイト

オフィシャルサイト

→Selenium - Web Browser Automation

ライセンス情報

Seleniumのライセンスは「Apache License 2.0」です。

詳細について、こちらを参照ください。
→Selenium →Selenium License

ダウンロード

→Selenium →Downloads

TOPに戻る

「Selenium」プロダクト

Seleniumには、複数のプロジェクトがあり、これらのプロダクトを組み合わせることで、多種多様なテストシステムを作成できます。

■テストスクリプト統合開発環境「Selenium IDE」

概要

「Selenium IDE」は、Firefoxプラグインとして実装されている「テストスクリプト統合開発環境」です。自動テストを開発するための使いやすいインターフェースで、テストスクリプト作成用プロトタイピング機能を提供します。

統合開発環境

Selenium IDEは、テストスクリプトの「作成」「編集」「実行」「デバッグ」までを行える統合開発環境です。Seleniumテストスクリプトを作成するための最適な開発環境です。

ブラウザ操作内容保存機能

Selenium IDEにはブラウザ操作内容保存機能があり、ユーザーのブラウザ操作を記録し、テストスクリプトとして出力できます。

「一通り手動で操作を行い記録してテストスクリプトを生成」→「その自動生成されたテストスクリプトに修正を加える」という手順で、効率的なテストスクリプト作成を行えます。

プラグインシステム

Selenium IDEにはプラグインシステムがあり、さまざまな機能拡張やカスタマイズを行えます。
・APIに新しい機能を追加
・既存機能の変更
・カスタムフォーマット対応
・エクスポート対応
・update.rdfファイルのホスティング など

その他のポイント

・Seleniumコマンドのオートコンプリート機能
・インテリジェントフィールドでは必要に応じて「ID」「名前」「XPath」が使用される
・デバッグ時のブレークポイント設定
・テストスクリプト出力機能(HTML、Rubyスクリプト、その他の形式)
・Selenium user-extensions.jsファイルのサポート
・ページタイトルの自動的アサーション など

■WebアプリケーションUIテストツール「Selenium Remote Control」

概要

「Selenium Remote Control」は、JavaScript対応ブラウザに対して、任意のプログラミング言語で、自動WebアプリケーションUIテストを記述できるテストツールです。

主要なプログラミング言語とテストフレームワークに対応しており、ローカルまたは他のコンピュータ上のWebブラウザを制御できます。

クライアント/サーバ構成

「Selenium Remote Control」は、クライアント/サーバ構成で、テストスクリプトとブラウザを中継するサーバ「Selenium Server」を起動し、ブラウザが動作するPCと連携させることでテストを実施します。

複雑なテストに対応

複雑な処理を行えるため、継続的インテグレーションにおいて、AJAXベースのWebユーザーインターフェーステストなどに向いています。

■Webブラウザ操作用APIライブラリ「Selenium WebDriver」

概要

「Selenium WebDriver」は、「ブラウザ拡張機能」と「OSネイティブ機能」を利用してブラウザを操作するための、「コンパクトなオブジェクト指向API群」を提供するライブラリです。

ブラウザをローカルまたはリモートマシン上でネイティブに駆動できます。作成したテストスクリプトについて「Selenium WebDriver」を利用してバッチ実行します。

経緯

「Selenium WebDriver」は、「Selenium Remote Control」の後継バージョンです。

「Selenium Remote Control」ではJavaScript対応ブラウザが前提であるため、ブラウザの制限により実行できない処理が多々あったことから、それを克服し、OSのネイティブ操作を行えるように開発されました。

「Selenium Remote Control」と比較して、よりシンプルで簡潔なプログラミングインターフェースとして設計されています。

対応できる主な操作

・クリック
・スクロール
・文字入力
・ウィンドウサイズ変更
・ファイルのアップロード/ダウンロード
・ポップアップ など

その他の機能

・Cookie/セッション情報の書き換え
・スクリーンショット保存(レスポンシブレイアウト表示のテストエビデンスとして利用可能) など

■複数テスト同時実行コンポーネント「Selenium Grid」

概要

「Selenium Grid」は、異なるリモートマシン上において異なるテストを同時実行できるコンポーネントです。複数環境に対する管理を行えます。

メリット① テスト時間の大幅短縮

大規模テストスイートの場合、テストスイートを分割し、異なるマシンを使用して異なるテストを同時に実行することで、テスト所要時間についてのパフォーマンスを大幅に向上できます。

メリット② 膨大な組み合わせテストに対応

複数環境テストスイートの場合、さまざまな「ブラウザ」「OS」「マシン」の組み合わせに対するテストを効率的に実施できます。

TOPに戻る

 

参考元サイト

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Selenium最新TOPICS

【OSS】「Selenium Committer Day 2017」レポート---Webアプリケーションテスト自動化ツール「Selenium」の今と未来(2017年07月29日 20:03)

7月1日に開催された、日本Seleniumユーザーコミュニティ主催「Selenium Committer Day 2017」レポート。 3名のSeleniumコミッターを招き、「今後のSeleniumの動向」「テスト事例紹介」「Q&Aパネルディスカッション」などが行われた。 【Seleniumとは】 Webアプリケーションテスト自動化ツール https://www.ossnews.jp...

Selenium最新CLOSEUPコラム

無料資料プレゼント

機械学習導入にあたって理解したい4つのステップ

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • 勉強会
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter