logo

Selenium Webドライバー

Selenium WebDriver は、Selenium Tool スイートの最も重要なコンポーネントです。最新リリースの「Selenium 2.0」は、よりシンプルで簡潔なプログラミング インターフェイスを提供する WebDriver API と統合されています。

Javaのスキャナー

次の図を見ると、Selenium コンポーネントとテスト自動化ツールについて十分に理解できます。


Selenium Webドライバー

Selenium WebDriver は、Selenium v​​2.0 の一部として初めて導入されました。 Selenium の初期バージョン、つまり Selenium v​​1 は、IDE、RC、および Grid のみで構成されていました。ただし、Selenium v​​3 のリリースにより、RC は非推奨となり、レガシー パッケージに移行されました。

WebDriver では、サポートされているプログラミング言語のいずれかを使用してテスト スクリプトを開発でき、ほとんどの最新の Web ブラウザで直接実行できます。 WebDriver でサポートされる言語には、C#、Java、Perl、PHP、Python、Ruby が含まれます。

Selenium WebDriver の概念を学ぶ前に、サポートされているプログラミング言語のいずれかに精通している必要があります。現在、Selenium Web ドライバーは Java と C# で最も人気があります。このチュートリアルでは、Java で Selenium を使用します。 Java と C# の基本概念と高度な概念を学ぶには、以下のリンクを参照してください。

Java チュートリアル: https://www.javatpoint.com/java-tutorial

C# チュートリアル: https://www.javatpoint.com/c-sharp-tutorial

Selenium WebDriver は、Web ブラウザを直接呼び出すため、Selenium RC に比べてはるかに高速に実行されます。一方、RC はブラウザと対話するために RC サーバーを必要とします。

WebDriver には、Firefox ドライバー (Gecko Driver) の実装が組み込まれています。他のブラウザの場合、通信してテストを実行するには、ブラウザ固有のドライバをプラグインする必要があります。最も一般的に使用される WebDriver には次のものがあります。

  • Google Chromeドライバー
  • Internet Explorerドライバー
  • オペラドライバー
  • サファリドライバー
  • HTML ユニット ドライバー (特殊なヘッドレス ドライバー)

Selenium WebDriver - アーキテクチャ

Selenium WebDriver API は、言語とブラウザ間の通信機能を提供します。

次の図は、Selenium WebDriver のアーキテクチャ表現を示しています。


Selenium WebDriver アーキテクチャ

WebDriver アーキテクチャには 4 つの基本コンポーネントがあります。

  • Selenium 言語バインディング
  • JSONワイヤープロトコル
  • ブラウザドライバ
  • リアルブラウザ

Selenium 言語バインディング / Selenium クライアント ライブラリ

Selenium 開発者は、複数の言語をサポートするために、言語バインディング/Selenium クライアント ライブラリを構築しました。たとえば、Java でブラウザ ドライバを使用する場合は、Java バインディングを使用します。サポートされているすべての言語バインディングは、公式 Web サイトからダウンロードできます。 (https://www.seleniumhq.org/download/#client-drivers) セレンの。

JSONワイヤープロトコル

JSON (JavaScript Object Notation) は、Web 上でデータを交換するためのオープンスタンダードです。オブジェクトや配列などのデータ構造をサポートします。したがって、JSON からのデータの書き込みと読み取りは簡単です。 JSON について詳しくは、https://www.javatpoint.com/json-tutorial をご覧ください。

JSON ワイヤ プロトコルは、サーバーとクライアント間でデータを転送するためのトランスポート メカニズムを提供します。 JSON ワイヤー プロトコルは、さまざまな REST Web サービスの業界標準として機能します。 Web サービスの詳細については、https://www.javatpoint.com/web-services-tutorial をご覧ください。

ブラウザドライバー

Selenium は、ブラウザの機能の内部ロジックを明らかにすることなく、ブラウザとの安全な接続を確立するために、各ブラウザに固有のドライバを使用します。ブラウザードライバーは、Java、C# などの自動化に使用される言語にも固有です。

WebDriverを使用してテストスクリプトを実行すると、内部的には以下の動作が行われます。

  • Selenium コマンドごとに HTTP リクエストが生成され、ブラウザ ドライバーに送信されます。
  • ドライバーは HTTP サーバー経由で HTTP リクエストを受信します。
  • HTTP サーバーは、ブラウザ上で実行される命令を実行するためのすべての手順を決定します。
  • 実行ステータスは HTTP サーバーに送り返され、その後、HTTP サーバーが自動化スクリプトに送り返されます。

ブラウザ

Selenium WebDriver でサポートされているブラウザ:

  • インターネットエクスプローラ
  • モジラ Firefox
  • グーグルクローム
  • サファリ

Selenium WebDriver - 機能

Selenium WebDriver の最も重要な機能のいくつかは次のとおりです。

    複数のブラウザのサポート: Selenium WebDriver は、Firefox、Chrome、Internet Explorer、Opera など、さまざまな Web ブラウザをサポートしています。また、HTMLUnit などの一部の非従来型または珍しいブラウザーもサポートしています。

Selenium WebDriver の機能
    複数の言語のサポート: WebDriver は、Java、C#、JavaScript、PHP、Ruby、Pearl、Python などの一般的に使用されるプログラミング言語のほとんどもサポートしています。したがって、ユーザーは自分の能力に基づいてサポートされているプログラミング言語のいずれかを選択し、テスト スクリプトの構築を開始できます。スピード: WebDriver は、Selenium Suite の他のツールと比較して高速に実行されます。 RC とは異なり、ブラウザと通信するための中間サーバーは必要ありません。むしろ、ツールはブラウザと直接通信します。

Selenium WebDriver の機能
    簡単なコマンド: Selenium WebDriver で使用されるコマンドのほとんどは実装が簡単です。たとえば、WebDriver でブラウザを起動するには、次のコマンドを使用します。
    WebDriverドライバー = 新しい FirefoxDriver(); (Firefoxブラウザ)
    WebDriverドライバー = 新しい ChromeDriver(); (Chromeブラウザ)
    WebDriverドライバー = 新しい InternetExplorerDriver(); (Internet Explorerブラウザ)WebDriver - メソッドとクラス: WebDriver は、自動テストにおける潜在的な課題に対処するための複数のソリューションを提供します。
    WebDriver を使用すると、テスターは動的ファインダーを通じてチェックボックス、ドロップダウン、アラートなどの複雑なタイプの Web 要素を処理することもできます。

Selenium WebDriver の機能

Selenium WebDriver チュートリアルのインデックス


Selenium WebDriver チュートリアル

  • 戦略を見つける
  • ID による戦略の検索
  • 名前による戦略の検索
  • クラス名による戦略の検索
  • タグ名による戦略の検索
  • リンクテキストによる戦略の検索
  • 部分的なリンクテキストによる戦略の検索
  • CSS による戦略の検索
  • XPath による戦略の検索
  • ドロップダウンの処理
  • WebDriver - ドラッグ アンド ドロップ
  • WebDriver 処理アラート
  • Web ページをスクロールする
  • WebDriver - ブラウザコマンド
  • WebDriver - ナビゲーション コマンド
  • WebDriver - WebElement コマンド
  • ラジオボタンの処理
  • チェックボックスの処理
  • Selenium アサーション
  • セレングリッド