introduction selenium webdriver selenium tutorial 8
Selenium WebDriverの概要:
以前に このシリーズ 、より焦点を当てたチュートリアルを公開しました SeleniumIDEとそのさまざまな側面 。ツールを紹介し、その機能について説明しました。また、いくつかを構築しました SeleniumIDEを使用したスクリプト そして Firebug 。そこから、利用可能なさまざまなタイプのWeb要素とその 戦略の特定 。
Selenium IDEに精通しているので、 を使用して、より高度な自動化スクリプトの作成に向けて学習曲線を動かしましょう Selenium WebDriver 。 WebDriverは、最も魅力的な自動化テストツールの1つです。詳細に議論しましょう。

学習内容:
SeleniumWebDriverの概要
WebDriver Seleniumツールキットの最も強力で人気のあるツールの1つです。 WebDriverは、Selenium RCの拡張バージョンとして提供され、余分な利点があり、その制限の多くに対処します。 WebDriverは、Selenium IDEとは異なり、そのサポートを多くの最新のブラウザーおよびプラットフォームに拡張します。また、WebDriverでは、Selenium RCとは異なり、テストスクリプトの実行前にSeleniumサーバーを起動する必要はありません。
WebDriverAPIと統合されたSeleniumRCは、Selenium2.0として知られています。 Seleniumは、動的なWebページとAjax呼び出しをサポートするために開発されました。また、Webベースのモバイルテストを実行するためのさまざまなドライバーもサポートしています。
Javaで配列の1つの要素を出力する方法
WebDriverアーキテクチャ
WebDriverは、SeleniumRCとは微妙な違いがあるWebベースのテストツールです。このツールは、Webブラウザごとに分離されたクライアントが作成された基本に基づいて構築されているため、最初のチュートリアルで説明したように、JavaScriptの手間のかかる作業は必要ありませんでした。
WebDriverはWebブラウザを直接呼び出し、テストスクリプト全体がこの方法で実行されます。 WebDriverは、ブラウザのサポートと機能を使用して自動化します。

Selenium RCとは異なり、Selenium WebDriverでは、テストスクリプトの実行を開始する前にSeleniumServerを起動する必要はありません。ユーザーはこの利点を活用でき、ブラウザーが存在するのと同じマシンでテスト実行を実行する場合は、SeleniumServerが必要な場合と不要な場合があります。
WebDriverでSeleniumServerが必要な例外的なケース:
- ユーザーがリモートマシンでテストスクリプトを実行したい場合。
- ユーザーがHtmlUnitドライバーでテストスクリプトを実行したい場合。
- ユーザーが複数のプラットフォームでテストスクリプトを実行したい場合。
WebDriverは、OSレイヤーで動作する純粋なオブジェクト指向フレームワークです。周辺機器を使用せずに、ブラウザの自動化に対するネイティブの互換性を利用します。需要の増加に伴い、それは大きな人気とユーザーベースを獲得し、最も広く使用されているオープンソースの自動化テストツールの1つになりました。
SeleniumWebDriverの機能
ブラウザの互換性

WebDriverは、さまざまなWebブラウザとそのバージョンをサポートしています。 SeleniumRCやSeleniumIDEとは異なり、HtmlUnitブラウザーのようないくつかのユニークで珍しいブラウザーに加えて、従来のすべてのブラウザーをサポートします。
HtmlUnitブラウザは、ヘッドレスモード(GUIレスモード)で実行され、ユーザーがテストスクリプトの実行を表示できないことを除いて、他のブラウザと同様にテストスクリプトを実行します。テストスクリプトの実行はヘッドレスモードで発生するため、実行速度が向上し、実行が速くなります。
WebDriverは、Webベースのモバイルテストもサポートしています。したがって、AndroidDriverとIphoneDriverを提供して、Webベースのモバイルテストを支援します。
注意: WebDriverは、新しいブラウザを容易にサポートしていません。
言語サポート
セッションの早い段階で、記録および再生機能を使用してスクリプトを作成する方法を学びました。また、Seleneseコマンドを使用して手動で作成する方法も確認しました。このようなテストスクリプトを作成しているときに、さまざまな制約に遭遇します。
SeleniumIDEによって課せられる制限のいくつかは次のとおりです。
- 反復と条件文をサポートしていません
- ループをサポートしていません
- エラー処理をサポートしていません
- テストスクリプトの依存関係をサポートしていません
上記の障害は、プログラムでトラブルシューティングされる可能性があります。 WebDriverを使用すると、ユーザーはさまざまなプログラミング言語から選択し、指定された言語でテストスクリプトを作成できます。
SeleniumWebDriverでサポートされているプログラミング言語は次のとおりです。
- Java
- C#
- PHP
- パール
- ルビー
- Python
したがって、ユーザーは自分の能力に基づいてプログラミング言語のいずれかを選択でき(言語がWebDriverでサポートされている場合)、テストスクリプトの作成を開始できます。
速度
Seleniumスイートの他のツールと比較すると、WebDriverはすべての中で最速のツールであることがわかります。コミュニケーションは、外部の介入を介してチャネル化されません。むしろ、ツールは他のユーザーと同じようにブラウザと直接通信します。したがって、WebDriverは、自動化に対するブラウザのネイティブ互換性を利用します。

Selenium RCなどのSeleniumスイートの他のツールは、Webブラウザーと直接通信しません。クライアントライブラリ(テストスクリプトは任意のプログラミング言語で記述されています)はSelenium Remote Control Serverと通信し、RemoteControlはSeleniumCore(JavaScript Program)と通信し、Selenium CoreはWebブラウザーと通信します。したがって、この種のねじれた通信は、実行速度の妨げになります。

ドライバー、メソッド、クラス
WebDriverは、自動化テストにおけるいくつかの潜在的な課題に対する幅広いソリューションを提供します。動的ファインダーを使用して、チェックボックス、ドロップダウン、アラートなどの複雑なタイプのWeb要素を処理するのに役立ちます。

モバイル時代の到来とともに、WebDriver APIも成熟し、この地平線に入る主要なテクノロジーのいくつかを導入しました。 WebDriverを使用すると、ユーザーはWebベースのモバイルテストを実行できます。これは、Webベースのモバイルテストを実行するために不可欠な2つのドライバーを提供します。
- AndriodDriver
- IphoneDriver
さらに、WebDriverAPIはかなりシンプルで簡単です。繰り返しのコマンドは含まれていません。それどころか、SeleniumRCはトートロジーコマンドの多くを具体化しています。
結論
このチュートリアルでは、Selenium WebDriverのアーキテクチャ、機能、および制限について概説することで、SeleniumWebDriverについて理解してもらうことを試みました。
これがこの記事の核心です。
- Seleniumスイートは4つの基本コンポーネントで構成されています。 Selenium IDE、Selenium RC、WebDriver、Seleniumグリッド。
- WebDriverを使用すると、ユーザーはWebベースの自動化テストを実行できます。 WebDriverは、SeleniumRCに比べてさまざまな利点があるまったく別のツールです。
- WebDriverは、さまざまなWebブラウザー、プログラミング言語、およびテスト環境をサポートします。
- WebDriverはWebブラウザーと直接通信し、そのネイティブ互換性を使用して自動化します。
- WebDriverのサポートは、従来のユーザーアクションの周辺を制限するだけではありません。代わりに、ドロップダウン、Ajax呼び出し、ウィンドウの切り替え、ナビゲーション、アラートの処理などの複雑なユーザーアクションの効率的な処理メカニズムをサポートします。
- WebDriverを使用すると、ユーザーはWebベースのモバイルテストを実行できます。同じことをサポートするために、WebDriverはAndroidDriverとIphoneDriverを導入しています。
- WebDriverは、外部の介入なしにブラウザーを直接呼び出すため、SeleniumSuiteの他のツールよりも高速です。
次のチュートリアル#9 :次のチュートリアルでは、 WebDriverを使い始めるためのインストール手順 ゼロから開始します。また、 WebDriverが提供するさまざまなドライバー 、それぞれが異なるニーズに対応します。
次のチュートリアルが作成されるまで、読者はSeleniumの公式Webサイトにアクセスできます。 Selenium WebDriverに関する詳細なドキュメントは、公式Webサイトに実装されています。
評価サンプルで昇進を求める
このSeleniumオンライントレーニングシリーズのこのチュートリアルまたは他のチュートリアルに関する特定のリクエスト/クエリがある場合は、コメントでお知らせください 。
推奨読書
- 最初のWebDriverスクリプトの実装– Selenium WebDriverチュートリアル#10
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- Eclipseを使用したWebDriver全体のセットアップとインストール– Seleniumチュートリアル#9
- さまざまなタイプのWebDriverコマンドを使用してWeb要素の可視性を確認する– Seleniumチュートリアル#14
- 効率的なSeleniumスクリプティングとトラブルシューティングシナリオ– Seleniumチュートリアル#27
- ログを使用したSeleniumスクリプトのデバッグ(Log4jチュートリアル)– Seleniumチュートリアル#26
- 30以上の最高のSeleniumチュートリアル:実際の例でSeleniumを学ぶ
- Selenium WebDriverでアラート/ポップアップを処理する方法-Seleniumチュートリアル#16