我已将我的 Selenium 框架升级到最新版本。在执行代码期间,我收到以下异常:
例外:
org.openqa.selenium.InvalidArgumentException:
Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string
细节:
- 硒:3.7.1;
- IE:3.7.0(32位驱动);
- java.version:'1.8.0_144'。
此外,较新的版本建议driver = new InternetExplorerDriver(capabilities);
已弃用。我在函数中单独设置浏览器的功能,并将其作为参数传递给驱动程序。
如何解决这个问题?
代码片段:
desiredCapabilities(browser);
IE Capabilities Setting:-
capabilities = new DesiredCapabilities().internetExplorer();
capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabilities.setCapability(CapabilityType.SUPPORTS_ALERTS, true);
capabilities.setCapability(InternetExplorerDriver.UNEXPECTED_ALERT_BEHAVIOR, true);
capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true);
capabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true);
capabilities.setCapability("nativeEvents", false);
capabilities.setCapability("requireWindowFocus", false);
capabilities.setJavascriptEnabled(true);
capabilities.setCapability("ignoreProtectedModeSettings", true);
System.setProperty("webdriver.ie.driver", ieExe.getAbsolutePath());
然后我调用我的驱动程序:
driver = new InternetExplorerDriver(capabilities);