测试不在IE中工作,除非禁用nativeEvents

时间:2016-09-14 19:07:21

标签: internet-explorer selenium

在IE中运行selenium测试时,当我禁用本机事件所需功能时,测试不会单击它们应该一致点击的元素。但似乎应该启用该功能。两个问题

  • 在运行selenium测试时启用nativeEvents是一种好习惯吗?
  • 如果是这样,我如何让它在IE中工作?现在我使用selenium服务器独立jar 2.53.1与该版本相关的IE驱动程序。我想我可能需要安装更多软件包才能让点击在IE中正常运行

2 个答案:

答案 0 :(得分:0)

原始事件优于here所提及的合成事件,因为它们使用OS级别机制来发送键盘和鼠标输入。 默认情况下,在IE驱动程序中打开本机事件。但他们引入了一些点击和hoverOver问题。 您可以阅读here有关构建IE驱动程序的原则及其引入的问题。

使用"enablePersistentHover" capability

可以解决悬停问题

并且有一种使用"requireWindowFocus" capability

来改善点击次数的解决方法

两者都有很好的描述here

答案 1 :(得分:0)

您可以使用所需的功能,如下所示,这将起作用。

DesiredCapabilities cap = DesiredCapabilities.internetExplorer();
cap.setCapability("nativeEvents", false);
cap.setCapability("unexpectedAlertBehaviour", "accept");
cap.setCapability("ignoreProtectedModeSettings", true);
cap.setCapability("disable-popup-blocking", true);
cap.setCapability("enablePersistentHover", true);
cap.setCapability("ignoreZoomSetting", true);
InternetExplorerOptions options = new InternetExplorerOptions();
options.merge(cap);
WebDriver driver = new InternetExplorerDriver(options);