Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer 除非禁用nativeEvents,否则测试不会在IE中工作_Internet Explorer_Selenium - Fatal编程技术网

Internet explorer 除非禁用nativeEvents,否则测试不会在IE中工作

Internet explorer 除非禁用nativeEvents,否则测试不会在IE中工作,internet-explorer,selenium,Internet Explorer,Selenium,在IE中运行selenium测试时,当我禁用本机事件所需功能时,测试不会单击它们应该一致单击的元素。但似乎应该启用该功能。两个问题 运行selenium测试时启用nativeEvents是否是一种良好的做法 如果是这样的话,我如何让它在IE中工作?现在我正在使用selenium server standalone jar 2.53.1以及与该版本关联的IE驱动程序。我想我可能需要安装更多的软件包才能在IE中正常工作 如前所述,本机事件优于合成事件,因为它们使用操作系统级机制发送键盘和鼠标输入。

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

  • 运行selenium测试时启用nativeEvents是否是一种良好的做法
  • 如果是这样的话,我如何让它在IE中工作?现在我正在使用selenium server standalone jar 2.53.1以及与该版本关联的IE驱动程序。我想我可能需要安装更多的软件包才能在IE中正常工作

如前所述,本机事件优于合成事件,因为它们使用操作系统级机制发送键盘和鼠标输入。 默认情况下,本机事件在IE驱动程序中打开。但他们引入了一些点击和悬停问题。 您可以阅读IE驱动程序的构建原则及其引入的问题

使用“enablePersistentHover”功能可以解决悬停问题

还有一种通过使用
“requireWindowFocus”功能改进点击的解决方法


这两种功能都有很好的描述

您可以使用所需的功能,如下所示,这是可行的

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);

我试着设置nativeEvents->true,enablePersistentHover->false,requireWindowFocus->true,但没有用。@Jasmine我想你必须包括代码、错误,并更多地描述你的点击,以便有人理解。这样你就有更多的机会从别人那里得到答案。@Jasmine你试过
requireWindowFocus->true
nativeEvents->false
吗。这可能会有帮助