Selenium WebDriverアーキテクチャ:コンポーネント、機能、および制限

公開: 2020-12-17

システムのテストは困難な作業であり、それを自動化するツールに勝るものはありません。 自動化テスターが思い浮かぶツールの1つは、Seleniumです。 Selenium WebDriverを使用した自動化テストのスキルについて学びたい場合は、適切な場所に来ています。 始めましょう。

目次

セレンとは何ですか?

Seleniumは、オープンソースの自動化テストツールです。 このツールはWebベースのアプリケーションのみをテストし、複数のブラウザーおよびオペレーティングシステムと互換性があります。

Seleniumには主に3つのバージョンがあります。

  • Selenium RC
  • Selenium IDE
  • Seleniumグリッド

これらのバージョンはすべて2007年にリリースされました。

Selenium WebDriver

2011年まで、SeleniumRCが広く使用されていました。 2011年半ば、Seleniumは新しいバージョンのWebDriver2.0をリリースしました。 これはRCへのアップグレードではなく、まったく異なるツールでした。 違いは、SeleniumWebDriver2.0には独自のコマンドがあることです。 SeleniumWebDriverの最新バージョンは3.14です。

Selenium WebDriver 動的スクリプトを作成できます。

  • 複数のブラウザと互換性があります。
  • レポートとログを生成します。
  • ブラウザのエンジンを使用してブラウザと直接通信するため、高速です。
  • ページ要素間の実際の相互作用。
  • Selenium WebDriverのAPIははるかに単純で、紛らわしく冗長なコマンドが含まれていません。
  • Selenium WebDriverは、ヘッドレスHtmlUnitブラウザーをサポートできます。
  • SeleniumWebDriverアーキテクチャには5つのコンポーネントがあります。

    1. 言語バインディングまたはSeleniumクライアントライブラリ:これらはJarファイルであり、これはSeleniumフレームワークの作成に使用される言語です。 Seleniumのスクリプトは、Java、C#、Ruby、Python、Perlで記述されています。
    2. Seleniumアプリケーションプログラミングインターフェイス(API): APIは、任意のソフトウェア言語が準拠する一連のルールと仕様を提供します。 他のソフトウェアプログラムとの通信も必要です。 つまり、APIは、ソフトウェアプログラムと通信のACチャネル間のインターフェイスとして機能します。
    3. リモートWebDriver:これはWebDriverインターフェースの実装クラスです。 テストスクリプト開発者は、リモートマシン上のクラスを使用して、WebDriverサーバーを介してテストスクリプトを実行します。
    4. JavaScript Object Notation(JSON)有線プロトコル: JSONは、データの交換を容易にするための軽量のデータ交換可能な形式です。 Web上のクライアントとサーバー間でデータを転送します。 JSONファイルの拡張子は.jsonです。 JSON有線プロトコルはJSON形式でデータを送信します。 次に、サーバーはデータを解析して実行します。 実行後、サーバーは応答を返し、JSON形式でクライアントに送り返します。
    5. WebDriver: WebDriverは、Webアプリケーションを自動化し、期待どおりに機能することを確認するツールです。

    SeleniumWebDriverアーキテクチャ

    ここでは、 SeleniumWebDriverアーキテクチャに焦点を当てます。 Selenium WebDriver APIは、ブラウザーとブラウザードライバー間の対話を容易にします。 このアーキテクチャは、次の4つの層で構成されています。

    • Seleniumクライアントライブラリ
    • JSONワイヤープロトコル
    • ブラウザドライバー
    • ブラウザ

    Selenium WebDriverは内部でどのように機能しますか?

    Selenium WebDriverのコードは、Eclipse統合開発環境(IDE)で記述されています。 JavaなどのSeleniumクライアントライブラリのいずれかを使用します。

    スクリプトの準備ができたら、[実行]をクリックてプログラムを実行します。 上記のスクリプトに基づいて、Chromeブラウザが起動し、SeleniumHQWebサイトに移動します。

    Selenium WebDriverの内部アーキテクチャには、次の一般的な手順を使用します。

    1.[実行]をクリックします

    SeleniumクライアントライブラリはSeleniumAPIと通信します。

    2. Selenium APIは、言語コマンドをレベルバインディングからブラウザードライバーに送信します。

    通信はJSON有線プロトコルを介して行われます。

    3.SeleniumAPIはリクエストをブラウザドライバーに送信します。

    ブラウザドライバは、HTTPサーバーを使用してHTTPリクエストを取得します。

    4. HTTPサーバーは、実行に必要なすべてのコマンドを除外します。

    Seleniumスクリプトのコマンドは、ブラウザーで実行されます。

    5. HTTPサーバーは、自動化テストスクリプトに応答を送信します。

    SeleniumWebDriverの技術仕様

    • オペレーティングシステム(OS)– Windows、Solaris、Linux、Mac OS
    • サポートされているブラウザ– Internet Explorer、Google Chrome 12.0.712.0以降、Safari、Opera 11.5以降、Mozilla Firefox、Internet Explorer、HtmlUnit 2.9、AndroidおよびiOS

    SeleniumWebDriverの最高の機能

    • 複数のブラウザのサポート–ほぼすべてのブラウザをサポートします。
    • 複数言語のサポート–一般的に使用されるプログラミング言語のほとんどをサポートします。
    • 速度– Selenium WebDriverは、SeleniumSuiteの他のツールと比較して高速です。
    • 単純なコマンド–一般的なコマンドはSeleniumWebDriverで簡単に使用および実装されます。 たとえば、Selenium WebDriverでブラウザを起動するには、次のコマンドを実行します。
      • WebDriverドライバー=新しいFirefoxDriver(); (Firefoxブラウザ)
      • WebDriverドライバー=新しいChromeDriver(); (Chromeブラウザ)
      • WebDriverドライバー=新しいInternetExplorerDriver(); (Internet Explorerブラウザ)
    • メソッドとクラス– Selenium WebDriverには、自動化テストの潜在的な課題を解決するための複数のソリューションがあります。

    読む: Seleniumプロジェクトのアイデアとトピック

    SeleniumWebDriverの制限

    • Selenium WebDriverは、新しいブラウザーを自動的にサポートしません

    WebDriverはOSレベルで動作するため、すべてのブラウザはさまざまな方法でOSと通信します。 そのため、新しいブラウザの場合、OSとの通信が異なり、互換性の問題が発生する可能性があります。 新しいブラウザをSeleniumWebDriverと互換性を持たせるには、 SeleniumWebDriverチームにしばらく時間を提供する必要があります

    • Selenium WebDriverには、「テスト結果」ファイルを自動的に生成するための組み込みコマンドがありません。

    統合開発環境(IDE)の出力ウィンドウに依存する必要があります。 好みの言語を使用して自分でデザインし、HTMLファイルまたはテキストとして保存することもできます。

    また読む:インドのSelenium開発者給与

    世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

    最終的な考え

    • Selenium WebDriverは、さまざまなブラウザーでWebアプリケーションをテストするツールです。
    • さまざまなプログラミング言語を使用しています。
    • Selenium WebDriverは、アーキテクチャが単純なため、SeleniumRCのアップグレードバージョンです。
    • SeleniumWebDriverには簡潔なAPIがあります。

    フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

    未来のキャリアに備える

    ソフトウェアエンジニアリングの修士号を今すぐ申し込む