Robot Framework - 为IE设置保护模式设置

时间:2018-03-21 16:41:16

标签: java selenium robotframework selenium-iedriver

我遇到以下错误:"启动Internet Explorer时出现意外错误。保护模式设置对于所有区域都不相同。启用保护模式必须设置为相同的值(对所有区域启用或禁用)。" 使用Selenium WebDriver打开IE时。

在Java中(使用selenium-server 3.8.1),我通过使用:

解决了这个问题
InternetExplorerOptions options = new InternetExplorerOptions();
options.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(options);

我如何为Robot Framework执行此操作(使用SeleniumLibrary的Java端口:robotframework-seleniumlibrary-3.8.1.0-jar-with-dependencies)?

${ie_options}=    Create Dictionary    InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS=true
Open Browser    ${url}    ie    None    None    ${ie_options}   None

我尝试了上面的那个,但我仍然遇到错误。将其更改为 ignoreProtectedModeSettings 无效。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我写了自定义关键字,它会更新Windows Registry以启用ProtectedMode的{​​{1}}。

以下是 Python 代码:

all Zones

您可以用Java编写相同的代码。Check here for more help !!!

答案 1 :(得分:0)

要直接在Robot Framework中执行此操作:

${ie_dc} =      Evaluate  
    ...         sys.modules['selenium.webdriver'].DesiredCapabilities.INTERNETEXPLORER 
    ...         sys, selenium.webdriver
${ieOptions} =  Create Dictionary  ignoreProtectedModeSettings=${True}
Set To Dictionary   ${ie_dc}  se:ieOptions  ${ieOptions}
Open Browser    ${url}  ie  desired_capabilities=${ie_dc}

在某些时候,ignoreProtectedModeSettings被放置在功能字典中的se:ieOptions字典中。如果您调试Selenium的Python库(尤其是webdriver / remote / webdriver.py)并查看start_session中的响应,就可以看到此内容。