【问题标题】:Automate the manual steps for IE browser working with InternetExplorerDriver使用 InternetExplorerDriver 自动执行 IE 浏览器的手动步骤
【发布时间】:2013-12-26 19:01:15
【问题描述】:

祝大家圣诞快乐,新年快乐。

在使用 InternetExplorerDriver webdriver 时,我需要您的帮助来自动化一些步骤。

以下是我的代码--

File file =new File("C:\\IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
caps.setCapability("ignoreZoomSetting", true);
driver = new InternetExplorerDriver(caps);

执行此操作时出现此异常。

引起:org.openqa.selenium.remote.SessionNotFoundException: 启动 Internet Explorer 时出现意外错误。保护模式设置 并非所有区域都相同。启用保护模式必须设置为 所有区域的相同值(启用或禁用)。 (警告: 服务器没有提供任何堆栈跟踪信息)命令持续时间或 超时:1.29 秒

谷歌搜索后,我得到了手动更改某些 IE 设置的帮助。 http://jimevansmusic.blogspot.in/2012/08/youre-doing-it-wrong-protected-mode-and.html

我的问题是——我必须运行一个端到端套件,系统将分配一个窗口框运行时并开始测试,因此两者之间没有手动交互, 除了上述异常,我的所有测试都失败了。

有没有办法绕过这些手动步骤或在 java/selenium 代码中放入一些逻辑/Api?

仅供参考-我厌倦了下面的代码,忽略了安全性。它根本没有帮助我/得到同样的例外..

capab.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, 真);

寻求您的快速响应和帮助..

【问题讨论】:

    标签: java internet-explorer selenium selenium-webdriver


    【解决方案1】:

    Internet Explorer 中每个“级别”的所有设置都存储在注册表中,包括保护模式设置。

    如果您打开注册表编辑器,然后导航到:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones
    

    在此注册表项中将有 5 个子项,每个子项标记为 0 到 4。这些子项映射到“Internet 选项”控制面板小程序中的“区域”或“站点级别”。

    Microsoft 有一个稍微过时的documentation 文章,其中介绍了每个区域与什么相关,以及这些区域中的每个设置与什么相关。

    您应该能够看到代表保护模式设置的特定 DWORD 值:

    2500     Turn on Protected Mode [Vista only setting] #
    

    这里重要的值是030 = 保护模式开启,3 = 保护模式关闭。

    这里有一个小技巧。它并不总是存在。这是因为如果值不存在,Windows 会使用默认值

    defaultsInternetRestricted Sites 区域已打开设置,unless you are using IE7 在这种情况下Local Intranet 区域已打开。 p>

    那么,你能做什么?你有两个选择。您已经在使用 Java,因此可以简单地 poke around 了解如何使用 Java 编辑注册表,或者您可以使用 REG.EXE 工具很容易地对纯旧批处理文件执行相同的操作(文档显示“Windows XP” - 忽略它,该工具自 Windows XP 以来没有任何变化。

    【讨论】:

    • 非常感谢阿兰。我将在 java 代码中设置它并在此处更新。再次感谢您的时间和帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 2023-02-02
    相关资源
    最近更新 更多