Capybara正在寻找用户无法看到的元素

时间:2016-12-07 21:56:36

标签: twitter-bootstrap capybara rspec-rails

我正在使用capybara创建RSpec功能测试,用于使用Bootstrap选项卡的测试。

我的问题是即使不使用click_link "tab name" capybara仍然能够找到位于该标签内的元素。但是,在查看本地服务器中的页面时,选项卡正常运行。

水豚如何找到元素?它是否以某种方式使用绕过引导标签的系统?

有什么方法可以解决这个问题吗?

可能涉及的因素:

  • 由于各种原因,我正在进行的项目是调用这些“请求”测试而不是功能测试。这会改变水豚的一些行为吗?

更新:   - 我目前没有设置js: true。现在调查可能的解决方案。

1 个答案:

答案 0 :(得分:0)

此行为的原因是:js设置为false,因此capybara默认使用基于机架的驱动程序。此驱动程序不处理大多数CSS,CSS加上没有JavaScript支持意味着引导选项卡不起作用。因此,无论是否点击了任何标签链接,每个标签基本上都是可见的并且可以同时全部选择。这意味着仍然可以单击这些链接,但它没有做任何事情。

归功于@ThomasWalpole(见评论)