我已将我的Selenium框架升级到最新版本。在执行代码期间,我收到以下异常:
例外:
org.openqa.selenium.InvalidArgumentException:
Invalid capabilities in alwaysMatch: unhandledPromptBehavior is type boolean instead of string
详细说明:
另外,较新的版本建议{@ 1}}已弃用。我在一个函数中单独设置浏览器的功能,并将其作为参数传递给Driver。
如何解决此问题?
代码段:
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());
答案 0 :(得分:2)
好吧,来自 Selenium
的 v3.7
实施不再接受DesiredCapabilities
类型对象作为初始化{{ {1}}实例而不是强类型Web Browser
类是首选。因此,您必须使用 Options
类对象,使用 InternetExplorerOptions
中的 merge
参数并传递为一个参数。您的代码块如下:
MutableCapabilities