Ich versuche, eine unerwartete Browserwarnung in Chrome (zum Freilassen der Pflichtfelder leer) zu behandeln und erhielt zuvor eine Ausnahme für den Ladezustand, die gelöst wurde, nachdem ich den Chromtreiber zu 2,24 geändert habe und jetzt bin ich mit diesem Code-Schnipsel um die Warnung zu akzeptieren und erhalte vorbei an der SeiteBrowser Alert nicht behandelt wird Ergebnisse in Ausnahme
public void loginAlert() {
try{
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}
catch (org.openqa.selenium.UnhandledAlertException e) {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText().trim();
System.out.println("Alert data: "+ alertText);
alert.dismiss();}
}
, die auf der Seite definiert ist, wo ich diese Warnung erwarten, auch die Taste, die angeklickt wird diese Warnung aufgerufen wird auf dem definierte selbe Seite.
Hier in meinem Test ist, was ich habe
at XXXXPage
classname.WaitForPageLoad()
Button.click()
loginAlert()
aber hier ist eine Ausnahme, die ich bekommen, ich habe viel Zeit damit verbracht, es zu lösen und wollen endlich um Hilfe bitten!
Objekt kann nicht werfen '[email protected]' mit Klasse 'org.openqa.selenium.remote.RemoteWebDriver $ RemoteAlert' Klasse 'javafx.scene.control.Alert' org .codehaus.groovy.runtime.typehandling.GroovyCastException: Objekt '[email protected]' mit der Klasse 'org.openqa.selenium.remote.RemoteWebDriver $ RemoteAlert' kann nicht in die Klasse 'javafx.scene' umgewandelt werden .control.Alert‘ bei Pages.OperatorLoginPage.loginAlert (OperatorLoginPage.groovy: 93)
auch, wenn ich auf dem Screenshot von Geb genommen aussehen scheint es so Ausnahme aufgetreten ist, noch bevor der Alarm Pop-up seit angezeigt wurde Der Alarm wird bei fehlgeschlagenem s nicht angezeigt tep und es kam nie auf, wenn ich den Bildschirm während des Tests überwacht.
Haben Sie versucht, Geb zu verwenden, um die Warnungen zu behandeln? http://www.gebish.org/manual/0.9.1/javascript.html#alert –