ため、私はポップアップウィンドウのtimeout exception
を投げるセレンと「予期しないアラートを開く」の処理方法
unexpected alert open
not provide any stacktrace information)
Command duration or timeout: 5 milliseconds
を問題を持ってアラートがOK
とCANCEL
ボタンがあります。私は最初の方法は、第二の方法は、Robotクラスに
Robot r = new Robot();
r.keyPress(KeyEvent.VK_ENTER);
r.keyRelease(KeyEvent.VK_ENTER);
を使用している
driver.quit();
driver = new ChromeDriver();
新しいセッションを再開です。この
を処理する2つの方法をしかし、この方法は知っています時間効率的ではありません。もっと良い方法はありますか?
public boolean isAlertPresent() {
boolean presentFlag = false;
try {
// Check the presence of alert
Alert alert = driver.switchTo().alert();
// Alert present; set the flag
presentFlag = true;
// if present consume the alert
alert.accept();
//(Now, click on ok or cancel button)
} catch (NoAlertPresentException ex) {
// Alert not present
ex.printStackTrace();
}
return presentFlag;
}
私はあなたにこの意志は役に立ち願って、これを試してみてください
driver.switchTo().alert().accept();
私はこれだ:任意のアイデアなぜか、どのようにそれは...私は警告を受け入れるようにしようとすると、時にはそれは私にそのエラーを与え、時にはテストに合格、一貫していないのです...。「いいえ、アラートオープンNoSuchAlertErrorを」それを修正するには? –
WebDriverで何かが一貫して失敗していない場合は、タイミングの問題である可能性は95%です。あなたは 'new WebDriverWait(driver).until(ExpectedConditions.alertIsPresent())'を使ってそれを待つことができます。 –
Nodejs Seleniumを使用していますが、より詳細な例がありますか?多くのありがとう –