Seleniumでコンポーネントを見つける最も簡単な6つの方法

公開: 2022-05-19

セレンの成分を見つける

Seleniumのコンポーネントは、アプリケーションまたはソフトウェアをテストする際に重要な役割を果たします。 これらは、Selenium自動化スクリプトの構成要素です。 ただし、これに関する実際の課題は、必要に応じてWebページ上でこれらのコンポーネントを見つけることです。

幸い、Seleniumでこれらのコンポーネントを見つけるにはさまざまな方法があります。 自動化テストでさまざまなデータ読み込みアクティビティを行うのに役立つ、特定の用途向けの特定のコンポーネントを見つけることができます

これらはロケーターまたはロケーティングテクニックと呼ばれ、強力なコマンドに他なりません。 これらのロケーターを使用すると、複数のユーザーアクションを実行できるGUIコンポーネントをすばやく見つけることができます。

ただし、Seleniumでコンポーネントを見つけるさまざまな方法を検討する前に、これらのコンポーネントとは何か、およびそれらがどのように機能するかを理解することが重要です。

Seleniumのコンポーネント

Webサイトの回帰テストまたは自動データロードに最適なツールは、間違いなくSeleniumです。 簡単に言うと、Seleniumは、プログラムまたはコマンドを介してWebブラウザーを制御するための強力なツールであると言えます。

これはすべてのブラウザで実用的であり、すべての重要なオペレーティングシステムで操作できます。 そのスクリプトは、Python、Java、C#などのいくつかのプログラミング言語で構成されています。また、これらに加えて他のいくつかの言語を使用しています。ここでは、簡単に理解できるように、非常に人気のある言語であるPythonを使用します。

Seleniumには、Selenium IDE、Selenium RC、Selenium Web Driver、およびSeleniumGRIDの4つの主要な要素があります。

Seleniumは、世界中の機械化テスターに​​よってしばらくの間ビジネスに存在してきました。

セレンの4つの主要な要素を調べてみましょう–

  • Selenium IDE

Selenium IDE(統合開発環境とも呼ばれます)は、SeleniumSuiteの重要な機器の1つです。 これは、Selenium実験用の完全な統合開発環境(IDE)です。 これは、Firefoxの追加およびChrome拡張機能として適用されます。

Selenium IDEのもう1つの側面は、実際のトライアルのキャプチャ、書き換え、およびデバッグを可能にすることです。 以前はSeleniumRecorderとして認識されていました。 Selenium-IDEは、最初は笠谷真也によって設立され、2006年にSeleniumプロジェクトに授与されました。

Selenium IDEは以前は適切に保守されておらず、2018年に存在し始めました。

書き込みは、それ自体でキャプチャして手動で修正することができ、オートコンプリートの支援とコマンドを迅速に切り替える能力を備えています。 スクリプトは、Selenium用の特定のトライアルスクリプト言語であるSeleneseで報告されます。

Seleneseは、ブラウザでアクティビティを実行し(リンクを押して、別の方法を選択します)、発生しているページからデータを取得するためのコマンドを提供します。

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

Selenium Remote Control(別名RC)は、HTTPを介してブラウザーを介してコマンドを承認するJava言語で構成されるWebサーバーです。 RCを使用すると、いくつかのコーディング言語でWebアプリのコンピューター化されたテストを簡単に作成できるため、一般的なコンポーネントテストフレームワークにSeleniumを適切に統合できます。

Seleniumプログラムは現在、論文テストを簡素化するために、PHP、Python、Ruby、.NET、Perl、Javaなどのいくつかの言語用のコンシューマードライバーを提供しています。 さらに、(Rhinoエンジンを介して)JavaScriptでJavaドライバーを使用できます。

HTMLテストトライアルを公開するには、セレンRCサーバーの例が必要です。これは、類似性の実行ごとにドックが複数である必要があることを意味します。 それでも、Java / PHPテストケースの場合、1つのSeleniumRCサンプルだけが無限に動作する必要があります。

  • SeleniumWebドライバー

Selenium WebDriverは、SeleniumRCの継承者です。 Selenium WebDriverは、コマンド(SeleneseまたはクライアントAPIを介して提供)を順守し、ブラウザーに提供します。 これは、ブラウザにコマンドを配信して結果を取得するブラウザ固有のブラウザドライバを介して適用されます。

ほぼすべてのブラウザードライバーは、確実にブラウザーアプリ(Mozilla Firefox、Google Chrome、Internet Explorer、Safari、さらにはMicrosoft Edgeなど)を開いてアクセスします。 さらに、HtmlUnitブラウザードライバーは、ヘッドレスアプリケーションHtmlUnitを使用してブラウザーをエミュレートします。

Selenium WebDriverは、テストを実施するために固有のサーバーを必要としません。 代わりに、WebDriverはブラウザのイラストをすばやく開き、それを調整します。 それでも、WebDriverでSelenium Gridを利用して、リモートネットワークでテストを実行できます。

可能な場合、WebDriverは、ブラウザーベースのJavaScript推奨事項ではなく、アボリジニのオペレーティングシステムレベルの機能を利用してアプリケーションを実行します。 これにより、セキュリティ規制を含む、アボリジニコマンドとJavaScriptコマンド間のわずかな不一致に関する問題が回避されます。

  • セレングリッド

Selenium Gridは、分離されたデバイスで動作するWebブラウザーの標本を実験で使用できるようにするサーバーです。 ハブは、ブラウザーの標本(WebDriverノード)にアクセスするサーバーを記録し、テストでこれらの標本を利用できるようにします。

Selenium Gridを使用すると、複数のデバイスで対応するテストを実行し、(すべての個別のテストではなく)個別のブラウザーエディションとブラウザー構成を一元的に管理できます。

分離されたブラウザインスタンスでのテストを管理する能力は、さまざまなマシン全体にテストの法則を広め、複数のプラットフォームまたはオペレーティングシステムで動作するアプリケーションでテストを実行するのに役立ちます。 もう1つは、テストに使用するすべてのアプリケーションが同じプラットフォームで動作できるわけではない場合に役立ちます。

Seleniumでコンポーネントを見つける最も簡単な6つの方法

方法は、Seleniumのロケーターに他なりません。 これらのロケーターは、SeleniumでGUI要素を入力および検索するためにアクセスできる強力なコマンドです。 さらに、これらのコマンドを使用して、複数のユーザーアクションを実行できます。

SeleniumでGUIコンポーネントを見つける6つの簡単な方法のリストは次のとおりです-

  • ID
  • 名前
  • リンクテキスト
  • 部分的なLinkText
  • タグ名
  • クラス名

Selenium WebDriverで上記のロケーターを使用すると、「findElement/findElements」構文を使用してコンポーネントを見つけることができます。

1.IDロケーター

IDは、Seleniumでコンポーネントを検索するための最も効果的で最速のロケーターオプションです。 IDは、コンポーネントを識別するための一意の番号です。 IDロケーターはdocument.getElementById()を呼び出し、これを最速のロケーターオプションにします。 多くのブラウザはiDを最適化します。

2.名前ロケーター

IDロケーターが名前ロケーターに到達した後、Web要素にID属性がない場合に役立ちます。 ただし、名前ロケーターの問題は、名前ロケーターが毎回一意になるわけではないことです。 少なくとも2つ以上の名前がある場合、Seleniumは最初に一致する要素を選択してアクションを実行します。

3.LinkTextロケーター

これは、状況に基づいた検索オプションです。 LinkText Locatorは、 By.linkText()メソッドを介して正確なリンクテキストを使用してリンクにアクセスします ただし、2つ以上の関連付けに正確なリンクテキストがある場合があります。 この状況では、Seleniumは、リンクを持つ最初の一致する要素を選択して、アクションを実行します。

4.部分的なLinkTextロケーター

これも状況ベースの検索オプションです。 部分的なLinkTextLocatorは、 By.partialLinkText()メソッドを介してリンクテキストの一部を使用してリンクにアクセスします 複数の一致を含む部分的なリンクテキストを指定すると、すべての最初の一致にアクセスします。

5.TagNameロケーター

TagName LocatorはDOM構造の一部であり、この構造では、Selenium Webページのすべての要素は、ボタンタグ、入力タグ、アンカータグなどのタグを介して定義されます。各タグには、名前、値クラス、IDなどの複数の属性があります。 、など。

6.ClassNameロケーター

class属性を使用して要素を定義する場合、ClassNameLocatorは要素を見つけるための最良の方法の1つです。 クラス属性の最も優れている点は、IDのように一意である必要がないことです。

Seleniumでコンポーネントを見つける他の方法

Seleniumでコンポーネントを見つけるための6つの最も顕著な方法とは別に、他に2つの方法があります。 これらの方法はそれほど強調されていませんが、効果的に使用できます。

1.XPath

XPath式は、Webコンポーネントを見つけるための信頼できる方法を提供しますが、すべてのロケーターの中で最も低速です。 XPathエンジンはブラウザーごとに異なるため、ブラウザー間で一貫性がありません。 たとえば、XPathコードをChromeで記述した場合、IEでは機能しません。

2.CSSセレクター

WebコンポーネントにIDまたは名前がない場合、それらを見つける最良の方法はCSSセレクターを使用することです。 XPathと比較して、CSSはより高速で読みやすくなっています。 CSSは、一般的なすべてのブラウザーと互換性があり、パフォーマンスが向上します。 CSSは、複数のブラウザーでアプリケーションをテストする場合に役立ちます。 XPathは機能しないIEであるため、CSSはIEに最適です。

LambdaTestでSelenium自動化テストを開始します

Seleniumでコンポーネントを見つけるには、Webページ上のコンポーネントの場所と、正しいアプローチを行うためのすべての可能な方法を完全に認識する必要があります。 これを行うための6つの最良の方法をリストしました。 ただし、さらにいくつか見つかる場合がありますが、すべてのSeleniumコンポーネントを見つけるには、上記のリストで十分です。 Seleniumは、すべての重要なコンポーネントがすぐに使えるLambdaTestフレームワークで簡単になります。

強力なクラウドテストプラットフォームであるLambdaTestは、自動化テストのスキルを加速するのに役立ちます。 3000以上のデスクトップおよびモバイルブラウザでSelenium、Cypress、Playwright、Puppeteerなどのトップ自動化テストツールを使用して自動化されたブラウザテスト提供し、統合された開発者ツールを使用してデバッグを行い、高度な自動化テストツールの学習にも役立ちます。 また、130か国以上から60万人以上の忠実なユーザーがいます。

SeleniumとLambdaTestは、テストの旅を後押しするために必要な唯一のペアです。