Selenium Webdriver を使用してページを更新する

Web ベースのアプリケーションのテスト自動化中に、すべての Web 要素を完全にロードするためにページを複数回更新する必要があります。 最初のページの読み込みでは、すべての Web 要素を読み込むために XNUMX 回目のページ更新が必要になる間に、一部の Web 要素が読み込まれる可能性があります。 これは、Selenium Web ドライバーが提供する更新コマンドを使用して実行できます。

Selenium でページを更新する方法

ブラウザの更新操作は、次のコマンドを使用して実行できます。wing Seleniumの方法。 この記事では、以下で説明する方法について詳しく説明します。

  1. Driver.navigate.refresh コマンド
  2. 取得メソッド
  3. キーの送信コマンド
  4. ナビゲートメソッド
  5. Driver.navigate.to コマンド

1) Driver.navigate.refresh コマンド

これは、Selenium Web ドライバーによって提供される、ページ更新操作を実行するための組み込みメソッドです。 このコマンドは、ページ更新操作を実行するためのテスト自動化全体で最も一般的に使用されるコマンドです。 Refresh コマンドは以下のように簡単な方法で使用できます。

driver.get("https://demo.guru99.com/selenium/guru99home/");
driver.navigate().refresh();

ナビゲーションは、前のページへの移動、次のページへの移動、ページの更新、ブラウザを閉じるなど、さまざまなブラウザ操作を実行するために使用されるインターフェイスです。 ナビゲーション インターフェイス メソッドには、コマンド driver.navigate() を使用してアクセスできます。 Navigation インターフェイスの Refresh メソッドは、引数を受け取らず、値も返しません。

例:

テストシナリオ:

  1. Open firefox browser ウェブページ付き – https://demo.guru99.com/selenium/guru99home
  2. ページが正常に読み込まれたら、driver.navigate.refresh メソッドを使用して Web ページを更新します。
  3. driver.close() メソッドを使用してブラウザを閉じます。

Code

package Guru99Demo;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class RefreshDemo {
public static void main(String args[]) throws InterruptedException
{
System.setProperty("webdriver.chrome.driver", "D: \\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://demo.guru99.com/selenium/guru99home/");
driver.manage().window().maximize();
driver.navigate().refresh();
driver.close();
}
}

コード出力:

初期ページ読み込み

ドライバーナビゲート更新コマンド

ページ更新操作後…ビデオが変更されました

ドライバーナビゲート更新コマンド

ページを更新する他の複数の方法

2) 取得メソッド

Get メソッドを再帰的に使用してページを更新できます。 これを実現するには、別のメソッドを引数として get メソッドに渡す必要があります。

例:

driver.get("https://www.guru99.com");
driver.get(driver.getCurrentURL());

3) ナビゲーション方法:

この方法では、上で説明したのと同じ再帰の概念が使用されます。 getCurrentURL() メソッドは引数として driver.navigate.to メソッドに渡されます。

例:

driver.get("https://www.guru99.com");
driver.navigate.to(driver.getCurrentURL());

4) F5 キーを使用したキーの送信方法:

これは、Selenium でページを更新するために 5 番目によく使用される方法です。 これは、keys メソッドを送信するための引数としてリフレッシュ キー (FXNUMX キー) を受け取ります。 キーの送信はブラウザーではなく Web 要素でのみ機能するため、最初に Web ページ上の有効な Web 要素を特定してから、キーの送信メソッドを使用する必要があります。 これは、以下に示すように実行できます。

例:

driver.get("https://www.guru99.com");
driver. findElement(By.id("username")).sendKeys(Keys.F5);

5) ASCII コードを使用したキーの送信方法:

このメソッドは上記と同じ概念を使用しますが、F5 キーを引数として渡す代わりに、リフレッシュ キーの ASCII コードを引数として送信します。 これは、以下に示すように実行できます。

driver.get("https://www.guru99.com");
driver. findElement(By.id("username")).sendKeys(“\uE035”);

まとめ

  • ページ更新操作により、テスト ケースの自動化を続行する前に、ページのすべての Web 要素が完全に読み込まれることが保証されます。
  • Selenium でページを更新するために最も一般的に使用されるメソッドは、driver.navigate().refresh() メソッドです。
  • Get メソッドと navigate メソッドには、Selenium でページを更新する再帰的な方法が含まれています
  • Send Keys メソッドを使用すると、F5 キーを引数として渡すか、対応する ASCII コードを渡すことによってページを更新できます。