0

我使用 Capybara 进行了 rspec 测试,它在本地和 browserstack 上运行良好,在 browserstack 上配置了 OS X Mavericks/Chrome 33。

当我将配置更改为 Windows 7 / IE 10 时,我在此处显示的最后一行代码中收到 ElementNotVisibleError:

  find('#myIdToExpandMyList').click
  #click selected one
  find(:xpath, "//SomeXPATHToRepresentAValueInMyList", :visible => :all).click

发生的事情(我可以​​看到由于屏幕截图)是第一行代码不起作用。由于某种原因,单击此元素不起作用。

这是展开 (+) 的图像按加号展开

当用户点击加号时,列表中的项目就会出现。由于单击不起作用,因此项目永远不会出现,并且上面的最后一行代码不起作用。为什么此查找/单击在 IE 10(使用 Selenium Webdriver)中不起作用?

这是展开背后的html代码:

<a id="myIdToExpandMyList" href="javascript:SomeJavscriptCallToExpandWithValues(params)">
  <img src="plussign.png" alt="Expand">
</a>

更新:进一步研究这似乎与模式对话框有关。在我的情况下,我打开了一个模态对话框(设置了 z-index 并且页面的其余部分无法访问)。出于某种原因(仅在 IE 中),我无法使用水豚 find(element).click 在模式对话框上单击链接。它似乎找到了元素,否则我相信我会得到一个错误。

第二次更新:在尝试了各种事情之后(回退到 selenium、不同的 IE 版本、本机点击,没有任何效果。唯一有效的是通过 execute_script 执行 javascript。加号(href)触发一个 javascript 函数,该函数打开列表 - 我直接调用它。我不喜欢这个解决方案,所以希望有人有更好的解决方案。

4

1 回答 1

0

我代表 BrowserStack 回复。

我了解您在 IE 10 上的测试,日志显示展开(+)按钮已成功单击。但是,单击并没有启动它应该启动的操作(展开菜单)。因此,随后的行动失败了。

正如您所提到的,您可以在您的机器上本地运行测试。您能否给我们发送一封包含以下详细信息的电子邮件:

  1. 您在本地使用的 IEDriver 版本
  2. 您测试的 IE 浏览器的确切版本
  3. 硒罐版本
于 2015-06-15T16:14:51.550 回答