Selenium WebDriverのロボットクラス:メソッド、重要性、実装

公開: 2021-05-02

Selenium Webドライバースクリプトは、Java関数を使用してデスクトップポップアップとブラウザーを自動化します。これらの関数は、WebドライバーAPI(Application Programming Interface)のseleniumパッケージの一部としてではなく、Java API AWT(Abstract Window Toolkit)の一部として使用されます。 。

これがどの機能であり、JAVAでどのように機能し、機能を自動化するのかをさらに知ることは興味深いことではありませんか? このJava関数は「ロボットクラス」として知られています。 この記事では、ロボットクラスの概念、その実装方法、重要性、セレンでの実装、およびこの記事での制限について説明します。

目次

ロボットクラスとは何ですか?

Java AWTパッケージには、RobotクラスのRobotJavaが含まれています。 Robotクラスの主な目的は、Java実装の自動テストと、リアルタイムのマウスおよびキーボード操作の自動シミュレーションです。 リーチを拡大するのに役立つ既存の自動化フレームワークと簡単に統合できます。

これは、印刷またはダウンロードポップアップなどのOS(オペレーティングシステム)ウィンドウや、電卓やメモ帳などのネイティブアプリケーションと対話しながら、キーボードとマウスを制御するためのSelenium自動化テストで広く使用されています。 Selenium Webdriverがそのようなポップアップやアプリケーションを処理できなかったため、JavaV.1.3の組み込みロボットクラスが導入されました。

ロボットクラスを実装するメソッド

ロボットクラスは、キーボード機能とマウス機能を使用して簡単に実装できます。 KeyPress()、KeyRelease()、MouseMove()、MousePress()、MouseRelease()、KeyEvent()などのテストスクリプトの簡単な実行を支援するRobotClassを実装するために必要なメソッドはほとんどありません。

  • キーボード機能は、さまざまなキーボードキーとその操作のシミュレーションで機能します。 public void KeyPress(int keycode)関数は、入力パラメーターキーを押すために使用されます。 public void KeyRelease(int keycode)関数は、keyPress関数の後に入力パラメーターキーを解放します。
  • マウス機能は、さまざまなマウス操作のシミュレーションで機能します。 public void mouseMove(int x、int y)関数は、xとyの入力座標に応じて、画面上でマウスポインタを移動します。 public void mouse press(int button)関数は、keyPress関数と同様のマウスプレス操作をシミュレートします。

Seleniumでのロボットクラスの重要性

  • キーボードとマウスのイベントをシミュレートして処理します
  • SeleniumWebドライバーでのファイルのアップロード/ダウンロードに役立ちます
  • ポップアップを効率的に処理します
  • SeleniumWebドライバーでRobotクラスを使用しながらファイルを簡単にアップロード
  • 既存の自動化フレームワークとの簡単な統合

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

Seleniumでのロボットクラスの実装

SeleniumRobotClassは、ローカルシステム入力イベントを生成して、テストを自動化し、自己実行デモを生成します。 また、マウスとキーボードを制御するために必要な他のアプリケーションも作成します。 ロボットクラスは、OSポップアップの処理におけるWebドライバーの制限を克服するために導入されました。 自動化フレームワークの実用的な機能を強化します。

セレンのWebアプリケーションは、アプリケーションのロケーターを使用し、それに応じて動作するWebページの位置を決定します。 場合によっては、Windowsオペレーティングシステムを自動化する際に、WindowsポップアップとWindows認証ポップアップを処理する必要があります。 セレンで前述したように、ロボットクラスはこれらの責任を果たします。 Windowsのアクションは自動化されませんが、そのようなタスクを実行するために使用できます。

Seleniumの実装手順におけるロボットクラス

  • ブラウザドライバをChromeDriverにリンクし、パスを指定します。
  • 対応するWebページのURL(Uniform Resource Locator)を取得すると、ナビゲート中にOSポップアップが表示されます。
  • 要素ロケーターを使用してWebページ要素を検索します。
  • Robot Classを使用してポップアップを処理し、コード内にRobotClassのインスタンスを作成します。

Robot Classは、JDK(Java Development Kit)のAWTパッケージに含まれています。

チェックアウト:インドのSelenium開発者給与

ロボットクラスの制限

  • キーボードまたはマウスイベントは、ロボットクラスの不適切な動作を引き起こす可能性のある現在のウィンドウインスタンスでのみ機能します。 対照的に、複数のウィンドウが存在するか、複数のブラウザがテストを実行しています。
  • 異なるウィンドウまたはフレームを切り替えるのが難しい
  • ロボットイベントの実行中にコード実行が別のウィンドウに移動すると、キーボードまたはマウスイベントは前のウィンドウに留まります。
  • 一部の関数は画面解像度に依存しているため、MouseMove()など、さまざまなマシンでのコード実行が非効率になる可能性があります。
  • VM(仮想マシン)テストでは、スクリプトの失敗の可能性が高くなります。

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

結論

自動化はコンピューター上の各アクティビティで基本的になりつつあるため、Seleniumのロボットクラスはその重要性を保持しています。 簡単に言うと、JavaのRobot Classは、Seleniumverでキーボードとマウスの機能を自動化するために使用される外部クラスです。

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

セレンのWebドライバーとは何ですか?

Webdriverは、Webベースのテストを自動化するためのツールです。 ブラウザやその他のWeb対応デバイスを検出および制御するためのAPIを提供します。WebDriverは、C#、Java、Ruby、PHP、Pythonなどのさまざまなプログラミング言語で実装できます。WebDriverは、Webアプリケーションの自動化に使用される最も一般的なツールです。 。 WebDriverは、Webブラウザとの対話を自動化するためのツールです。 Seleniumプロジェクトは、Webアプリケーションテスト用のブラウザーに依存しないライブラリを提供します。 複数のプログラミング言語でテストを書くことができます。 WebDriverは、単一のテストスクリプトからこれらの異なる言語を呼び出すことができる接着剤を提供します。

Seleniumで使用できるプログラミング言語はどれですか?

SeleniumのWebDriverコンポーネントは、リモート接続を可能にする任意のプログラミング言語で使用できます。 これには、Java、Python、Scala、Ruby、Perl、PHPなどが含まれます。 テストを作成するには、希望する言語に従ってWebDriverクライアントをインストールする必要があります。 これは、言語に適したインストール手順を使用して実行できます。 Seleniumは、利用可能なほぼすべてのプログラミング言語をサポートしています。 たとえば、PythonとRubyをSeleniumで使用できます(C、C ++、Javaなどの言語を使用してSelenium拡張機能を作成できます)。

Selenium Webdriverのロボットクラスとは何ですか?

SeleniumのRobotクラスは、ブラウザに特定の座標に移動するコマンドを与えるために使用されます。 Robotクラスは、SeleniumWebdriver用のブラウザーエミュレーターです。 これは実際のブラウザのプロキシであり、実際のユーザーと同じようにWebページとの対話を自動化するために使用できます。 ロボットは、目的のユーザーエージェントを特別なWebDriverインスタンスに渡すことにより、その場で作成されます。 Robotクラスは、新しいロケーター(つまり、要素の検索)を作成するために使用されるSeleniumWebdriverのインターフェイスです。 By.id()、By.name()、By.linkText()、By.xpath()などのさまざまなロケーター作成メソッドがあります。