usage selenium select class
前のチュートリアルでは、Javaベースの単体テストフレームワークで使用できるさまざまなタイプのassertステートメントと、それらの標本を使用したアプリケーションについて学習しました。 「自動化テストエンジニア」であるという事実を繰り返しますが、アサーションはテストスクリプトの開発において非常に決定的かつ重要な役割を果たします。
Seleniumシリーズの今後のチュートリアルをいくつか進めて、私たちは集中します Webページで利用可能なさまざまなタイプのWeb要素の処理 。したがって、このチュートリアルでは、 「ドロップダウン」とその処理戦略の実行 。
ルーターにあるネットワークセキュリティキーはどこにありますか
問題の説明とその解決に移る前に、テスト対象のアプリケーションについて紹介し、理解を深めましょう。サンプルとして、 ダミーのHTMLページ 複数のさまざまなWeb要素で構成されます。
Webページを構成する基本的なWeb要素は次のとおりです。
- ハイパーリンク
- ボタン
- 落ちる
上記の次のWebページを参照してください。
学習内容:
テスト中のアプリケーションの説明
いくつかの基本的なタイプのWeb要素を含むようにWebページを設計しました。
- ハイパーリンク :ユーザーをそれぞれ「https://www.google.co.in/」と「http://www.abodeqa.com/」にリダイレクトする2つのハイパーリンク「Google」と「abodeQA」が提供されていますクリックイベントで。
- 落ちる :3つのドロップダウンは、色、果物、動物を選択するために作成されており、値はすでにデフォルトに設定されています。
- ボタン :「試してみる」ボタンが作成され、クリックイベント時に(OK)ボタンと(キャンセル)ボタンのあるポップアップボックスが表示されます。
次に、上記のWebページを作成するために使用されるHTMLコードを示します。
Testing Select Class Red Green Yellow Grey Apple Orange Mango Lime Select Elephant Mouse Dog Click the button to display a confirm box.
Try it function myFunction() { confirm('Press a button!'); }
自動化されるシナリオ
- Webブラウザを起動し、Webページを開きます
- 「Google」ハイパーリンクをクリックします
- 元のWebページに戻ります
- 色のドロップダウンで「緑」を選択します
- フルーツドロップダウンで「オレンジ」を選択します
- 動物のドロップダウンで「象」を選択します
SeleniumSelectクラスを使用したWebDriverコード
スクリプトの作成には、前のチュートリアルで作成した「Learning_Selenium」プロジェクトを使用することに注意してください。
ステップ1: 「Learning_Selenium」プロジェクトの下に「HandlingDropDown」という名前の新しいJavaクラスを作成します。
ステップ2: 以下のコードをコピーして「HandlingDropDown.java」クラスに貼り付けます。
以下は、上記のシナリオと同等のテストスクリプトです。
import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; /** * class description */ public class HandlingDropDown { WebDriver driver; /** * Set up browser settings and open the application */ @Before public void setUp() { driver=new FirefoxDriver(); // Opened the application driver.get('file:///F:/Work/Blogs/testingstuff/DemoWebAlert.html'); driver.manage().window().maximize(); } /** * Test to select the dropdown values * @throws InterruptedException */ @Test public void testSelectFunctionality() throws InterruptedException { // Go to google driver.findElement(By.linkText('Google')).click(); // navigate back to previous webpage driver.navigate().back(); Thread.sleep(5000); // select the first operator using 'select by value' Select selectByValue = new Select(driver.findElement(By.id('SelectID_One'))); selectByValue.selectByValue('greenvalue'); Thread.sleep(5000); // select the second dropdown using 'select by visible text' Select selectByVisibleText = new Select (driver.findElement(By.id('SelectID_Two'))); selectByVisibleText.selectByVisibleText('Lime'); Thread.sleep(5000); // select the third dropdown using 'select by index' Select selectByIndex = new Select(driver.findElement(By.id('SelectID_Three'))); selectByIndex.selectByIndex(2); Thread.sleep(5000); } /** * Tear down the setup after test completes */ @After public void tearDown() { driver.quit(); } }
コードウォークスルー
インポートステートメント
- インポート org。 openqa.selenium.support.ui.Select –スクリプトを作成する前に、このパッケージをインポートしてください。パッケージは、ドロップダウンを処理するために必要なSelectクラスを参照します。
Selectクラスのオブジェクトのインスタンス化
Select selectByValue = new Select(driver.findElement(By.id(“ SelectID_One”)));
Selectクラスの参照変数を作成し、Selectクラスとドロップダウンの識別子を使用してインスタンス化します。
ドロップダウンの識別子またはロケーター値は、最初のチュートリアルで説明した手法を使用して見つけることができます(Selenium IDEとfirebugを使用)。
ドロップダウンの識別子は次のようになっていることに注意してください。
ステップ1: ほとんどまたはほとんどすべてのドロップダウン要素は、タグの下に定義されている複数の値(ドロップダウンに設定できる値)を持つタグで定義されます。
を使用してドロップダウンに値を設定する selectByValue() 方法
selectByValue.selectByValue( 'greenvalue');
上記のjavaコマンドでは、ドロップダウンで値「緑」を選択します。 selectByValue() メソッドと、value属性に存在するテキストを使用してパラメーター化する。
selectByVisibleText()メソッドを使用してドロップダウンの値を設定する
selectByValue.selectByVisibleText( 'Lime');
上記のjavaコマンドでは、ドロップダウンで値「Lime」を選択します。 selectByVisibleText() メソッドと、ユーザーインターフェイスに存在するテキスト、または開始タグと終了タグの間に存在するテキストを使用してパラメーター化する。
を使用してドロップダウンに値を設定する selectByIndex() 方法
selectByValue.selectByIndex(“ 2”);
上記のjavaコマンドでは、ドロップダウンで3番目の値を選択します。 selectByIndex() メソッドと、ドロップダウンで選択したい要素のインデックス値でパラメータ化する。
インデックス値は「0」で始まることに注意してください。
結論
このチュートリアルでは、Webページに存在するドロップダウン要素を処理するために使用されるWebDriverのSelectクラスについて理解してもらうことを試みました。また、ドロップダウンに値を入力するために使用できる方法についても説明しました。
記事の概要は次のとおりです。
- WebDriverのSelectクラスは、Webページに存在するドロップダウン要素を処理するために使用されます。
- 実際のスクリプトを作成する前に、ドロップダウンを処理してSelectクラスにアクセスできるようにするためのWebDriverスクリプトを作成できるように、パッケージをインポートする必要があります。
- インポート org。 openqa.selenium.support.ui.Select;
- Selectクラスの参照変数を作成し、Selectクラスとドロップダウンの識別子を使用してインスタンス化します。
- 選択する selectByValue = new Select(driver.findElement(By.id(“ SelectID_One”)));
- ドロップの識別子またはロケーター値は、SeleniumIDEとfirebugを使用して見つけることができます。
- 理想的には、リストされたものの中からドロップダウンで目的の値を選択する3つの方法があります。
- selectByValue()
- selectByVisibleText()
- selectByIndex()
- 次のJavaコマンドを使用して、ドロップダウンの「緑」の色を選択します。ドロップダウンの値がを使用して選択されていることに注意してください selectByValue()
- selectByValue( '緑の値');
- 次のJavaコマンドを使用して、ドロップダウンで「ライム」フルーツを選択します。ドロップダウンの値がを使用して選択されていることに注意してください selectByVisibleText()
- selectByVisibleText( 'Lime');
- 次のjavaコマンドを使用して、ドロップダウンにリストされているすべての使用可能なオプションから3番目の値を選択します。ドロップダウンの値がを使用して選択されていることに注意してください selectByIndex()
- selectByIndex(“ 2”);
次のチュートリアル#14 :次のチュートリアルでは、次のようなWebDriverのさまざまなタイプのコマンドについて説明します。 isSelected()、isEnabled()およびisDispalyed() これらは、指定されたWeb要素の存在に対してブール値を返します。
それまでは、WebDriverユーティリティの「クラスの選択」を使用してドロップダウンを自動化してください。
推奨読書
- Seleniumスクリプトを構築するためにChromeおよびIEブラウザーで要素を見つける方法– Seleniumチュートリアル#7
- Cucumber Seleniumチュートリアル:Cucumber Java SeleniumWebDriverの統合
- さまざまなタイプのWebDriverコマンドを使用してWeb要素の可視性を確認する– Seleniumチュートリアル#14
- 初心者向けの詳細なEclipseチュートリアル
- Selenium WebDriverの概要– Seleniumチュートリアル#8
- SeleniumスクリプトのWeb要素を識別するためのCSSセレクターの使用方法– Seleniumチュートリアル#6
- 効率的なSeleniumスクリプティングとトラブルシューティングシナリオ– Seleniumチュートリアル#27
- ログを使用したSeleniumスクリプトのデバッグ(Log4jチュートリアル)– Seleniumチュートリアル#26