セレンとは何ですか? Selenium 自動テストの概要

セレンは何ですか?

Selenium は、さまざまなブラウザーやプラットフォーム間で Web アプリケーションを検証するために使用される無料の (オープンソース) 自動テスト フレームワークです。 Java、C#、Python などの複数のプログラミング言語を使用して、Selenium テスト スクリプトを作成できます。 Selenium テスト ツールを使用して行われるテストは通常​​、 セレン試験.

セレンツールスイート

Selenium Software は単なる単一のツールではなく、ソフトウェアのスイートであり、各部分が組織のさまざまな Selenium QA テストのニーズに対応します。 ツール一覧はこちら

  • Selenium 統合開発環境 (IDE)
  • Selenium リモート コントロール (RC)
  • webdriver
  • セレングリッド

セレンツールスイート

現時点では、Selenium RC と WebDriver は単一のフレームワークに統合されています。 セレン2。 ちなみに、Selenium 1 は Selenium RC を指します。

ビデオチュートリアル Selenium

こちらをクリックすると、ツールが開きます。 ビデオにアクセスできない場合

Selenium を開発したのは誰ですか?

Selenium はさまざまなツールの集合であるため、開発者も異なります。 以下は、Selenium プロジェクトに顕著な貢献をした主要人物です。

セレンを開発

そもそもセレンとは、 2004 年にジェイソン・ハギンズによって作成されました。 ThoughtWorksのエンジニアである彼は、頻繁なテストが必要なWebアプリケーションに取り組んでいました。 アプリケーションの反復的な手動テストがますます非効率になっていることに気づき、彼は JavaScriptを ブラウザの動作を自動的に制御するプログラム。 彼はこのプログラムを「JavaScriptテストランナーに設立された地域オフィスに加えて、さらにローカルカスタマーサポートを提供できるようになります。」

Seeing potential in this idea to help automate other web applications, he made JavaScriptRunner open-source, which was later 改名 セレンコア。 Web アプリケーション テストの他のオプションを検討することに興味がある場合は、以下を参照してください。 セレンの代替品.

同一生成元ポリシーの問題

同一生成元ポリシーにより、JavaScript コードが起動された場所とは異なるドメインの要素にアクセスすることが禁止されます。。 たとえば、www.google.com の HTML コードでは、JavaScript プログラム「randomScript.js」が使用されています。 同一生成元ポリシーにより、randomScript.js は google.com/ などの google.com 内のページにアクセスすることのみが許可されます。mail、google.com/login、または google.com/signup。 ただし、yahoo.com/search や guru99.com などの異なるサイトのページには、異なるドメインに属しているためアクセスできません。

同一生成元ポリシーの問題

これが、Selenium RC が登場する前は、テスターが Selenium Core (JavaScript プログラム) と、テスト対象の Web アプリケーションを含む Web サーバーの両方のローカル コピーをインストールして、それらが同じドメインに属するようにする必要があった理由です。

Seleniumリモコン(Selenium RC)の誕生

ポール・ハマント

残念ながら; Selenium Core を使用するテスターは、テスト対象のアプリケーション全体と Web サーバーを自分のローカル コンピューターにインストールする必要がありました。 同一生成元ポリシー。 そこで、ThoughtWork の別のエンジニアは、 ポール・ハマントは、Selenium Core とテスト対象の Web アプリケーションが同じドメインからのものであるとブラウザを「騙す」ために、HTTP プロキシとして機能するサーバーを作成することにしました。 このシステムは、として知られるようになりました。 セレンリモコン or セレン1.

Selenium Grid の誕生

パトリック・ライトボディ

Selenium Grid を開発したのは、 パトリック・ライトボディ テストの実行時間を可能な限り最小限に抑える必要性に対処します。 彼は当初このシステムを「ホスト型 QA」 重要な段階でブラウザのスクリーンショットをキャプチャすることができました。 Selenium コマンドを異なるマシンに同時に送信するneo普通に。

Selenium IDEの誕生

笠谷真也

笠谷真也 日本が生み出した セレンIDE Firefox 記録と再生機能を通じてブラウザを自動化できる Chrome 拡張機能。 彼は、テスト ケースの作成速度をさらに向上させるためにこのアイデアを思いつきました。 彼は Selenium IDE を Selenium プロジェクトに寄付しました。 2006.

WebDriverの誕生

サイモンスチュワート

サイモンスチュワート WebDriver を作成した頃 2006 ブラウザーや Web アプリケーションが、Selenium Core などの JavaScript プログラムによってより強力になり、より制限が厳しくなったとき。 これは、OS レベルからブラウザを制御できる初のクロスプラットフォーム テスト フレームワークでした。

Selenium 2 の誕生

In 2008Selenium チーム全体が、WebDriver と Selenium RC をマージして、より強力なツールを形成することを決定しました。 セレン2、と WebDriverがコアとなる。 現在、Selenium RC はまだ開発中ですが、メンテナンス モードにすぎません。 Selenium プロジェクトの取り組みのほとんどは現在、Selenium 2 に焦点を当てています。

では、なぜセレンという名前がついたのでしょうか?

セレンという名前 これはジェイソンがかつてチームに漏らしたジョークに由来しています。 Selenium の開発中に、別の 自動テスト という会社が作ったフレームワークが人気でした マーキュリー・インタラクティブ (はい、QTP が HP に買収される前に最初に QTP を作成した会社です)。 セレンは水銀中毒の解毒剤としてよく知られているため、ジェイソンがその名前を提案し、チームメイトがその名前を採用しました。 こうしてこのフレームワークが現在に至っています。

セレンという名前の理由

Selenium IDE とは何ですか?

Selenium 統合開発環境 (IDE) は、 最も単純なフレームワーク Selenium スイートにあり、 最も学びやすいもの。 それは、 クロム Firefox プラグイン 他のプラグインと同じように簡単にインストールできます。 ただし、Selenium IDE はそのシンプルさのため、目的としてのみ使用する必要があります。 プロトタイピングツール。 より高度なテスト ケースを作成する場合は、Selenium RC または WebDriver を使用する必要があります。

セレンIDE

Selenium リモート コントロール (Selenium RC) とは何ですか?

Selenium RC は 主要なテストフレームワーク Selenium プロジェクト全体を長年にわたって支えてきました。 初めての自動化です Webテスト そのツール ユーザーが好みのプログラミング言語を使用できるようにする。 バージョン 2.25.0 以降、RC は以下をサポートできます。wing プログラミング言語:

Selenium リモート コントロール (Selenium RC)

Webドライバーとは何ですか?

WebDriver はより優れていることが証明されています。 Selenium IDE と Selenium RC 多くの面で。 ブラウザーのアクションを自動化するための、より現代的で安定したアプローチを実装します。 Selenium RC とは異なり、WebDriver は Selenium 自動テストに JavaScript に依存しません。 ブラウザと直接通信することでブラウザを制御します。

サポートされる言語は Selenium RC と同じです。

  • Java
  • C#
  • PHP
  • Python
  • パール
  • ルビー

ウェブドライバー

Seleniumグリッドとは何ですか?

Selenium Grid はツールです Selenium RC と一緒に使用して実行します 並列テスト 異なるマシンと異なるブラウザ間で同時に実行できます。 並列実行とは、複数のテストを一度に実行することを意味します。

特徴:

  • 有効にする 同時neo私たちはテストを実行しています in 複数のブラウザと環境。
  • 時間を節約する 非常に。
  • を活用 ハブとノード コンセプト。 ハブは、接続されている各ノードに対する Selenium コマンドの中央ソースとして機能します。

Selenium ブラウザと環境のサポート

彼らのせいで architectural differences, Selenium IDE, Selenium RC, and WebDriver support different sets of browsers and operating environments.

  セレンIDE webdriver
ブラウザのサポート モジラ Firefox とChrome

Google Chrome 12以降

Firefox

Internet Explorer 7 以降および Edge

サファリ、 

HtmlUnit と PhantomUnit

オペレーティングシステム Windows, Mac OS X, Linux 上記のブラウザが実行できるすべてのオペレーティング システム。

注: Opera ドライバーが動作しなくなりました

ニーズに合った適切な Selenium ツールを選択する方法

ツール 選ぶ理由
セレンIDE
  • 自動テストと Selenium の概念について学ぶには、次のものが含まれます。
  • type、open、clickAndWait、assert、verify などの Selenese コマンド。
  • ID、名前、XPath、CSS セレクターなどのロケーター。
  • runScript を使用したカスタマイズされた JavaScript コードの実行
  • テスト ケースをさまざまな形式でエクスポートします。
  • プログラミングに関する予備知識がほとんど、またはまったくなくてもテストを作成できます。
  • To create simple test cases and test suites that you can export later to RC or WebDriver.
  • Web アプリケーションをテストするには Firefox およびクロムのみ。
セレンRC
  • Selenese よりも表現力豊かな言語を使用してテストを設計するには
  • 異なるオペレーティング システム上の異なるブラウザ (HtmlUnit を除く) に対してテストを実行します。
  • Selenium Grid を使用して複数の環境にテストをデプロイします。
  • JavaScript をサポートする新しいブラウザーに対してアプリケーションをテストします。
  • com で Web アプリケーションをテストするにはplex AJAX ベースのシナリオ。
webdriver
  • テスト ケースの設計に特定のプログラミング言語を使用すること。
  • AJAX ベースの機能が豊富なアプリケーションをテストします。
  • HtmlUnit ブラウザ上でテストを実行します。
  • カスタマイズされたテスト結果を作成するため。
セレングリッド
  • Selenium RC スクリプトを複数のブラウザとオペレーティング システムで同時に実行するにはneo普通に。
  • 大規模なテスト スイートを実行するには、できるだけ早く完了する必要があります。

Selenium と QTP (現 UFT) の比較

クイックテストプロフェッショナル(QTP) 同社が以前所有していた独自の自動テストツールです マーキュリー・インタラクティブ ヒューレット・パッカードが買収する前 in 2006。 その later owner is MicroFocus and the tool is renamed UFT one. The Selenium Tool Suite has many advantages over  QTP 以下に詳しく説明します –

QTP に対する Selenium の利点とメリット

Selenium QTP
オープンソース, 自由に使用する無料です。 商用ダイビング機材.
高度に伸縮可能な 限定されたアドオン
全体にわたってテストを実行できます さまざまなブラウザ でのみテストを実行できます Firefox, インターネットエクスプローラ > クロム
サポート さまざまなオペレーティングシステム でのみ使用できます Windows
サポート モバイルデバイス QTP は、HP ソリューション – HP Mobile Center を使用してモバイル アプリのテスト自動化 (iOS および Android) をサポートします
テストを実行できる while が待 ブラウザは最小化されています テスト対象のアプリケーションをデスクトップ上に表示できるようにする必要がある
テストを実行できる 並行して. 並列でのみ実行できますが、やはり有料製品である Quality Center を使用します。

Selenium に対する QTP の利点

QTP Selenium
テストできます Web アプリケーションとデスクトップ アプリケーションの両方 Web アプリケーションのみをテストできます
と来る 組み込みオブジェクトリポジトリ 組み込みのオブジェクト リポジトリはありません
Selenium よりも高速に自動化します それは完全な機能を備えた IDE であるためです。 ネイティブ IDE がなく、開発にはサードパーティの IDE のみを使用できるため、自動化の速度が遅くなります。
データ駆動型テストはより簡単に実行できるため、 グローバル データ テーブルとローカル データ テーブルが組み込まれています. データ駆動型テストは、テスト データの値を設定するためにプログラミング言語の機能に依存する必要があるため、より面倒です。
ブラウザ内のコントロールにアクセスできます(お気に入りバー、アドレスバー、戻るボタン、進むボタンなど) テスト対象の Web アプリケーションの外部の要素にアクセスできない
プロフェッショナルを提供します 顧客サポート 公式ユーザーサポートは提供されません。
ネイティブ機能を備えています テストデータをエクスポートする 外部フォーマットに変換する 実行時データを外部形式にエクスポートするネイティブ機能はありません
パラメータ化サポートが構築されています パラメータ化はプログラミングによって実行できますが、実装は困難です。
テストレポートは自動的に生成されます テスト/バグ レポートを生成するためのネイティブ サポートはありません。

QTP の方がより高度な機能を備えていることは明らかですが、Selenium は次の XNUMX つの主要な領域で QTP を上回っています。

  • 費用(Selenium は完全に無料なので)
  • 柔軟性(サポートできるプログラミング言語、ブラウザ、プラットフォームが多数あるため)
  • 並行テスト(QTP で可能なことですが、Quality Center を使用する場合にのみ可能です)

まとめ

  • Selenium ソフトウェア テスト スイート全体は、次の XNUMX つのコンポーネントで構成されています。
  • Selenium IDE、 Firefox Chrome アドオンは、比較的単純なテスト ケースとテスト スイートの作成にのみ使用できます。
  • Selenium Remote Control (Selenium 1 としても知られる) は、ユーザーが COM を作成する際にプログラミング言語を使用できるようにした最初の Selenium ツールです。plex テスト。
  • WebDriver は、テスト スクリプトがブラウザと直接通信できるようにする新しい画期的な機能で、OS レベルからブラウザを制御できます。
  • Selenium Grid は、異なるブラウザーやオペレーティング システム間で並列テストを実行するために Selenium RC とともに使用されるツールでもあります。
  • Selenium RC と WebDriver が統合されて Selenium 2 が形成されました。
  • Selenium は、コストと柔軟性の点で Microfocus UFT One よりも有利です。