0

Ich habe mein Selenium-Framework auf die neueste Version aktualisiert. Während der Ausführung des Codes, erhalte ich die folgende AusnahmeUngültige Fähigkeiten in alwaysMatch: unhandledPromptBehavior ist Typ boolean anstelle von String

Ausnahme:

org.openqa.selenium.InvalidArgumentException: 
Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string 

Details:

Selen: 3.7.1 IE: 3.7.0 (32 Bit-Treiber) java.version: '1.8.0_144'

Der Automatisierungscode funktioniert mit meinem älteren IE-Treiber (32 Bit) - 3.4.0.

Bitte schlagen Sie Ihre Ansicht vor, um den Fehler zu beheben.

+0

Können Sie Ihren Codeblock mit 'unhandledPromptBehavior' teilen? – DebanjanB

+0

Hinzugefügt Code für Ihre Referenz – Priya

+0

Ich sehe nicht das 'unhandledPromptBehavior' Attribut in Ihrem Code. Fehle ich etwas? – DebanjanB

Antwort

0

Der Fehler InvalidArgumentException: Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string Details sagt sagt spricht über das Hauptproblem.

Wie Sie erwähnt IE Driver also denke ich, das Problem mit ist Internet Explorer und IEDriverServer.exe. Um über kommen die Ausgabe setCapability("UNHANDLED_PROMPT_BEHAVIOUR", "accept") gemäß dem folgenden Codeblock verwenden:

System.setProperty("webdriver.ie.driver", "C:\\Utility\\BrowserDrivers\\IEDriverServer.exe"); 
DesiredCapabilities capabilities = new DesiredCapabilities(); 
capabilities.setCapability("UNHANDLED_PROMPT_BEHAVIOUR", "accept"); 
InternetExplorerOptions opt = new InternetExplorerOptions(); 
opt.merge(capabilities); 
WebDriver driver = new InternetExplorerDriver(opt); 
+0

Ich versuchte das gleiche und es zeigt immer noch den gleichen Fehler. – Priya

+0

Versuchen Sie, es in '" UNHANDLED_PROMPT_BEHAVIOUR ", false" – DebanjanB

+0

Immer noch gleichen Fehler: [FEHLER] 2017-11-22 11: 36: 41.384 [main] DetailedLogs - Fehler: >>>>> Class Keywords | Methode setupBrowser | Exception desc: Ungültige Fähigkeiten in alwaysMatch: unhandledPromptBehavior ist der Typ boolean anstelle von string Build-Info: Version: '3.7.0', Revision: '2321c73', Uhrzeit: '2017-11-02T22: 22: 35.584Z' Systeminfo : host: 'EQ-EQ6338424', ip: '10 .238.214.158 ', os.name:' Windows 7 ', os.arch:' amd64 ', os.version:' 6.1 ', java.version:' 1.8.0_144 ' Treiberinfo: driver.version: InternetExplorerDriver – Priya

0

Ich konnte das Problem beheben mit unter Änderung „capabilities.setCapability (InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, UnexpectedAlertBehaviour.IGNORE);“

1

Kurz:

  • Gültig Fähigkeit Name ist: "unhandledPromptBehavior"
  • Gültige Werte für "unhandledPromptBehavior" UND für "unexpectedAlertBehavior" sind: "accept", "dismiss", "accept and notify", "dismiss and notify", "ignore". Aber W3C unterstützt only 1st and 2nd.

Im Detail:

UNHANDLED_PROMPT_BEHAVIOUR ist eine Konstante Namen von CapabilityType Schnittstelle. Aber Sie verwenden es als Zeichenfolge. Also entweder capabilities.setCapability("unhandledPromptBehavior", ...) oder capabilities.setCapability(CapabilityType.UNHANDLED_PROMPT_BEHAVIOUR, ...)

Werte für diese Funktionen sind in Enum encauntered org.openqa.selenium.UnexpectedAlertBehaviour: es ist, weil unhandledPromptBehavior für unexpectedAlertBehaviour in webdriver3 neuen aktualisierten Namen. Eigentlich, wenn Sie unexpectedAlertBehaviour der Webdriver (v3.8) automatisch set both values setzen.

So Ursache Ihrer Fehler ist die Zeile: capabilities.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, true):

Sie true den gültigen Wert ersetzen soll (siehe oben).Diese Zeile setzt beide Fähigkeiten: unhandledPromptBehavior und unexpectedAlertBehaviour. Ihre erste Zeile (mit "UNHANDLED_PROMPT_BEHAVIOR") wird vom Fahrer ignoriert.

Verwandte Themen