私は webapplication をテストするコードを書いていますが、私のアプリケーションでは AJAX Request があり、データはバックエンド コンポーネントによって取得されます。そのため、データを取得するのに時間がかかります。
ですから、どのような方法を使用するのが最善か教えてください。
前進感謝ラジュ
私は webapplication をテストするコードを書いていますが、私のアプリケーションでは AJAX Request があり、データはバックエンド コンポーネントによって取得されます。そのため、データを取得するのに時間がかかります。
ですから、どのような方法を使用するのが最善か教えてください。
前進感謝ラジュ
ドライバーに暗黙のタイムアウトを設定する
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
要素がすぐに見つからない場合、例外をスローする前に 10 秒間待機します。これにより、ajax 呼び出しにコールバックするのに十分な時間が与えられるはずです。
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.id("myDynamicElement"));
}});
これは、ajax を介してロードされるページ内の特定の要素 (myDynamicElement) を待機します。