Ich habe Testfall mit folgendem Szenario aus:Umgang mit Popup-Fenster unmittelbar nach dem Login in Selenium
1) zur Website navigieren.
2) Anmeldeinformation eingeben.
3) Klicken Sie auf Login.
Nach dem Login in meiner Anwendung habe ich Tipp-Popup für Endbenutzer. Ich benutze Fensterhandler, um es zu schließen, aber das Problem ist manchmal, dass Selen so schnell läuft, dass es darauf klickt, bevor es sichtbar ist. Jede Hilfe wird geschätzt.
Wait<WebDriver> wait = new FluentWait<WebDriver>(driver)
.withTimeout(60, TimeUnit.SECONDS)
.pollingEvery(2, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class);
String mainWindowHandle = driver.getWindowHandle();
driver.switchTo().parentFrame();
wait.until(ExpectedConditions.urlContains("client/default"));
wait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver d) {
System.out.println(String.format("Window size is %d", d.getWindowHandles().size()));
return (d.getWindowHandles().size() == 1);
}
});
for (String activeHandle : driver.getWindowHandles()) {
if (!activeHandle.equals(mainWindowHandle)) {
driver.switchTo().window(activeHandle);
}
}
driver.findElement(By.xpath(elementLocator("popup_close_button"))).click();
driver.switchTo().window(mainWindowHandle); // switch back to parent window
Ohne Code ist es unmöglich zu helfen. –
Siehe [Selenium für x Sekunden pausieren] (http://stackoverflow.com/q/20009211) – JonasCz
Hallo Roman Ich habe meinen Beitrag bearbeitet –