check visibility web elements using various types webdriver commands selenium tutorial 14
WebDriverでさまざまなタイプのループコマンドと条件付きコマンドを使用してWeb要素の可視性を確認する方法:
以前のシリーズでは、 WebDriverのSelectクラス これは主に、ドロップダウンなどのWeb要素を処理し、ドロップダウンの下でさまざまなオプションを選択するために使用されます。
先に進む セレンシリーズ 、isSelected()、isEnabled()、isDispalyed()など、WebDriverのさまざまなタイプのループコマンドと条件付きコマンドについて説明します。これらのメソッドは、Web要素の表示範囲を決定するために使用されます。
それでは、簡単な紹介から始めましょう。WebDriverには、アクションが実行されるWeb要素のタイプに基づいてさまざまな可視性設定に関する情報を詳述するW3C仕様があります。
WebDriverは、次の方法でユーザーがWeb要素の可視性を確認できるようにします。これらのWeb要素には、ボタン、ドロップボックス、チェックボックス、ラジオボタン、ラベルなどがあります。
- 表示されています()
- isSelected()
- 有効になっています()
理解を深めるために、前述の方法についてコード例を使用して説明します。
見本として、テスト対象のアプリケーションとして「google.com」を使用し、スクリプト生成の前のチュートリアルで作成した「Learning_Selenium」プロジェクトを使用します。
自動化されるシナリオ
- Webブラウザーを起動し、テスト対象のアプリケーションを開きます– http://google.com
- Webページのタイトルを確認します
- 「Google検索」ボタンが表示されているかどうかを確認します
- (Google検索)テキストボックスに、リクエストを送信するキーワードを入力します
- 「検索ボタン」が表示され、有効になっていることを確認します
- 検索ボタンの可視性に基づいて、検索ボタンをクリックします
学習内容:
WebDriverコード
ステップ1: 「Learning_Selenium」プロジェクトの下に「VisibilityConditions」という名前の新しいJavaクラスを作成します。
新入生のためのネットインタビューの質問と回答
ステップ2: 以下のコードをコピーして、「VisibilityConditions.java」クラスに貼り付けます。
以下は、上記のシナリオと同等のテストスクリプトです。
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class VisibilityConditions { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = 'Google'; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // verify if the “Google Search” button is displayed and print the result boolean submitbuttonPresence=driver.findElement(By.id('gbqfba')).isDisplayed(); System.out.println(submitbuttonPresence); // enter the keyword in the “Google Search” text box by which we would want to make the request WebElement searchTextBox = driver.findElement(By.id('gbqfq')); searchTextBox.clear(); searchTextBox.sendKeys('Selenium'); // verify that the “Search button” is displayed and enabled boolean searchIconPresence = driver.findElement(By.id('gbqfb')).isDisplayed(); boolean searchIconEnabled = driver.findElement(By.id('gbqfb')).isEnabled(); if (searchIconPresence==true && searchIconEnabled==true) { // click on the search button WebElement searchIcon = driver.findElement(By.id('gbqfb')); searchIcon.click(); } // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
コードウォークスルー
以下は、Webページ上のWeb要素の存在を確認する方法です。
ブール値 submitbuttonPresence = driver.findElement(By.id( 「信じる」 ))。表示されています();
isDispalyed()
isDisplayed()は、Webページ内のWeb要素の存在を確認するために使用されるメソッドです。このメソッドは、成功と失敗のたびにブール値から結果が得られるように設計されています。このメソッドは、指定されたWeb要素がWebページに存在する場合は「true」値を返し、Web要素がWebページに存在しない場合は「false」値を返します。
したがって、上記のコードスニペットは、Google Webページに送信ボタンが存在することを確認し、送信ボタンが存在する場合はtrue値を返し、表示される場合は、送信ボタンがWebページに存在しない場合はfalse値を返します。
ブール値 searchIconEnabled = driver.findElement(By.id( 「Gbqfb」 ))。有効になっています();
このメソッドは、特定のタイプに限定されるだけでなく、あらゆる種類のWeb要素の可視性を扱います。
有効になっています()
isEnabled()は、Web要素がWebページ内で有効または無効になっているかどうかを確認するために使用されるメソッドです。 isDisplayed()メソッドと同様に、成功と失敗のたびにブール値になるように設計されています。このメソッドは、指定されたWeb要素がWebページで有効になっている場合は「true」値を返し、Web要素がWebページで有効になっていない(無効になっている状態)場合は「false」値を返します。
したがって、上記のコードスニペットは、送信ボタンが有効になっているかどうかを確認し、結果に応じてブール値を返します。
isEnabled()メソッドは、「条件A」が満たされた場合にのみ要素(主にボタン)が有効になっていることを確認したいシナリオで重要です。同じことについては、次の図を参照してください。
上の図では、(登録)ボタンは、(同意)チェックボックスが選択されている場合にのみ有効になります。
上記のメソッドと同様に、「isSelected()」と呼ばれるメソッドがあり、指定されたWeb要素が選択されているかどうかをテストします。
ブール値 searchIconSelected = driver.findElement(By.id( '男性' ))。isSelected();
キュウリはどのような種類のテストをカバーするのに役立ちますか?
isSelected()
isSelected()は、Web要素が選択されているかどうかを確認するために使用されるメソッドです。 isSelected()メソッドは、主にラジオボタン、ドロップダウン、およびチェックボックスで使用されます。上記の方法と同様に、成功と失敗のたびにブール値が生成されるように設計されています。
したがって、上記のコードスニペットは、男性のラジオボタンが選択されているかどうかを確認し、結果に応じてブール値を返します。同じことについては、次の画像を参照してください。
結論
このチュートリアルでは、WebDriverのループ操作と条件付き操作について理解してもらうことを試みました。これらの条件付きメソッドは、多くの場合、Web要素のほぼすべてのタイプの可視性オプションを処理します。
記事の概要:
- WebDriverには、Web要素のタイプに基づいてさまざまな可視性設定に関する情報を詳述するW3C仕様があります。
- isDisplayed()は、Webページ内のWeb要素の存在を確認するために使用されるメソッドです。このメソッドは、指定されたWeb要素がWebページに存在する場合は「true」値を返し、Web要素がWebページに存在しない場合は「false」値を返します。
- isDisplayed()は、利用可能なすべての種類のWeb要素の存在を確認できます。
- isEnabled()は、Web要素がWebページ内で有効または無効になっているかどうかを確認するために使用されるメソッドです。
- isEnabled()は、主にボタンで使用されます。
- isSelected()は、Web要素が選択されているかどうかを確認するために使用されるメソッドです。 isSelected()メソッドは、主にラジオボタン、ドロップダウン、およびチェックボックスで使用されます。
次のチュートリアル#15 : Webアプリケーションで作業しているときに、Webページ全体を更新し、新しいWeb要素を再ロードすることで、別のWebページにリダイレクトされることがよくあります。場合によっては、Ajax呼び出しも発生する可能性があります。したがって、Webページをリロードし、Web要素を反映している間、タイムラグが見られます。 したがって、インラインの次のチュートリアルでは、暗黙的および明示的な待機を使用して、このようなタイムラグを処理します。
読者への注意 :それまでは、読者はWebDriverのメソッドを使用して、Web要素の可視性スコープを自動化およびテストできます。
推奨読書
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- 最初のWebDriverスクリプトの実装– Selenium WebDriverチュートリアル#10
- Seleniumスクリプトを構築するためにChromeおよびIEブラウザーで要素を見つける方法– Seleniumチュートリアル#7
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- Eclipseを使用したWebDriver全体のセットアップとインストール– Seleniumチュートリアル#9
- SeleniumスクリプトのWeb要素を識別するためのCSSセレクターの使用方法– Seleniumチュートリアル#6
- 効率的なSeleniumスクリプティングとトラブルシューティングシナリオ– Seleniumチュートリアル#27
- ログを使用したSeleniumスクリプトのデバッグ(Log4jチュートリアル)– Seleniumチュートリアル#26