IE浏览器无法使用机器人框架

时间:2013-11-22 08:45:26

标签: internet-explorer internet-explorer-8 robotframework

我在IE 8 64位浏览器上运行的机器人框架存在问题。我试图在IE上运行测试,脚本失败,因为它给出了一个错误。请在报告中找到错误。这是因为IE中的安全设置吗?如果我将其设为常见的安全级别区域,则浏览器行为会有所不同。就像它最小化和最大化浏览器并失败特定测试。 Here is the link截图。据我所知,它还取决于xpaths / css / javascript属性。它与其他两个浏览器chrome / firefox运行良好。所以请向我建议,问题是什么,请找到cmd错误消息。

5 个答案:

答案 0 :(得分:1)

确保IE安全设置级别相同。 例如:滑块设置为中,所有3个滑块。 我也发现了这个问题,并将它们设置为相同的设置,它似乎再次起作用。

我假设您正在使用机器人框架的硒?

答案 1 :(得分:1)

我遇到了同样的问题,因为我的网络环境非常“敌对”,我不得不处理NTLM代理和有限的访问策略。

要解决此问题,必须正确设置 no_proxy webdriver.ie.driver 环境变量:

Set Environment Variable    no_proxy    127.0.0.1
Set Environment Variable    webdriver.ie.driver    ${local_ie_driver}

...在你打开IE之前,就像在这个小例子中一样:

*** Settings ***
Library           Selenium2Library
Library           OperatingSystem

*** Variables ***
${url_google}     http://www.google.com/
${local_ie_driver}    D:${/}PortableApps${/}SeleniumIEWebDriver${/}IEDriverServer.exe

*** Test Cases ***
Google for macarronada using IE
    Set Environment Variable    no_proxy    127.0.0.1
    Set Environment Variable    webdriver.ie.driver    ${local_ie_driver}
    Open Browser    ${url_google}    ie
    Wait Until Page Contains    Google
    Input Text    id=lst-ib    macarronada
    Click Button    name=btnG
    Wait Until Page Contains    macarronada
    Close Browser

希望它可以帮到你。

答案 2 :(得分:0)

错误消息告诉您问题是什么,以及解决方法是什么:

  

所有区域的保护模式设置都不相同。保护模式   必须为所有区域设置相同的值(启用或禁用)

要解决此问题,您必须更改安全设置,以便所有区域都启用了保护模式,或者它们都将其关闭。转到“Internet选项”控制面板,选择安全选项卡,然后确保选中"启用保护模式"对于所有区域都是相同的。

这是在IE驱动程序github页面上记录的:https://code.google.com/p/selenium/wiki/InternetExplorerDriver#Required_Configuration

答案 3 :(得分:0)

您应该将您的iedriver名称更改为(IEDriverServer.exe)同名的Chrome(chromedriver.exe

答案 4 :(得分:-1)

尝试在保护模式设置中为每个区域保留相同的值。

要设置保护模式设置,请从“工具”菜单中选择“Internet选项”,然后单击“安全”选项卡。对于每个区域,标签底部将显示一个标记为“启用保护模式”的复选框。应为每个区域选中或取消选中此复选框。

只要每个区域(Int​​ernet,本地Intranet,受信任的站点,受限制的站点)都相同,就可以启用或禁用此值。建议将其保持为启用状态,因为取消选中它会使您的计算机面临风险。

上述解决方案对我们有用。

原因 - 似乎浏览器正在检测第二个窗口或其URL作为潜在的安全威胁,并且正在运行具有极大限制权限的Internet Explorer进程。因为RobotFramework(Selenium2Library)无法检测到第二个窗口。

谢谢和问候,

Ryan M