机器人框架 - Selenium2Library - IE11非常不稳定,无法完成测试

时间:2016-11-22 10:13:02

标签: selenium testing selenium-webdriver automated-tests robotframework

基本上,如果测试用例是在Chrome,FF或Edge上运行的,它们会毫无问题地运行 - 您甚至可以在测试后使用浏览器。

然而,对于IE,从Web驱动程序运行它基本上会使浏览器不稳定。这适用于框架和手动使用。我遇到的问题是,一些元素在被选中时会闪烁。不幸的是,我试图在下拉列表中选择一个元素。一旦它开始闪烁,然后执行Click Element,它会在下拉列表后面点击,从而意外地点击一个完全不同的元素并停止我的测试。

有没有办法解决这个问题?我需要在所有4种浏览器上自动化我们的测试。

4 个答案:

答案 0 :(得分:2)

当我尝试在IE11中使用Robot自动化我的测试时,我遇到了相同/类似的问题。就我而言,一旦元素开始闪烁,测试甚至不会进一步发展。浏览器只是挂起而没有任何交互。 我找到的解决方法是,使用"按键" 关键字而不是" 点击元素" 并给出回车键。这对我很好,我能够完成我的测试。当然,我必须添加两个测试用例,一个用于IE,一个用于其他浏览器,但确实有效 !!

以下是示例测试用例:

Click Add - IE                
    # Click Element    ${I_Add}    --> This is for the other browsers
    Focus    ${I_Add}              -->
    Press Key    ${I_Add}    \\13  --> These are for IE

如果您有任何进一步的澄清,请问我

答案 1 :(得分:1)

恕我直言,InternetExplorerDriver不够稳定,不值得自动化测试的投资回报率,特别是在3个主要浏览器使用您的代码的情况下,IE将需要丑陋的补丁,这可能会损害其余的测试。引用InternetExplorerDriver

  

缺点

     
      
  • 显然,InternetExplorerDriver只适用于Windows!
  •   
  • 比较慢(我的补充 - 见Dave Haeffner的great benchmark
  •   

特殊配置:

  在Windows Vista或Windows 7上

在IE 7 或更高版本上,必须将每个区域的保护模式设置设置为相同的值。   ...此外,必须禁用“增强保护模式” 以及更高版本... 仅适用于IE 11 ,您需要设置注册表项。

如何实施Javascript事件:

  

由于InternetExplorerDriver仅限Windows,因此它会尝试使用所谓的“本机”或操作系统级事件在浏览器中执行鼠标和键盘操作。这与将模拟JavaScript事件用于相同操作形成对比。 ... 但是,当IE浏览器窗口没有焦点时,以及尝试将鼠标悬停在元素上时,目前存在一些带有鼠标事件的问题

列表继续......

答案 2 :(得分:1)

您是否尝试使用requireWindowFocus功能与IE一起使用?驱动程序行为的原因完全有效。我会鼓励任何有兴趣阅读a blog post致力于讨论该问题的人。

答案 3 :(得分:0)

它可能适用于您,也可能不适用于您;但仍然看看 -

  1. 将您的应用程序URL添加为可信站点。
  2. 确保"启用保护模式"所有4个区域(互联网,本地内联网,可信站点和受限制站点)均为ON或OFF。
  3. 关闭弹出窗口拦截器。
  4. 关闭SmartScreen过滤器。