Capybara的have_selector有哪些选择?

Ahm*_*edr 9 ruby rspec capybara

我在RSpec中遇到了这个错误.是否有任何文档have_selector可以解释选项哈希中的每个键以及它究竟是做什么的?

invalid keys :content, should be one of :text, :visible, :between, :count, :maximum, :minimum, :exact, :match, :wait
Run Code Online (Sandbox Code Playgroud)

Dav*_*uth 18

capybara为rspec提供了这种方法.capybara的文档不容易找到你的问题的答案,所以让我们按照来源:

have_selectorCapybara::RSpecMatchers.它委托给嵌套的类HaveSelector,该类委托给该方法assert_selector.

assert_selectorCapybara::Node::Matchers.(所以这是一种方法has_selector?,虽然这不是rspec所说的.)assert_selector的rdoc记录了该:count选项.它还说"它还接受Finders#all接受的所有选项,例如:text和:visible." 点击查看Finders#all最后,我们将获得所有选项的文档:

选项哈希(选项):

  • text(String,Regexp) - 仅查找包含此文本的元素或与此正则表达式匹配
  • visible(布尔) - 仅查找页面上可见的元素.将此设置为false可查找 - 不可见和可见元素.
  • count(整数) - 预期找到的确切匹配数
  • maximum(整数) - 预期找到的最大匹配数
  • minimum(整数) - 预期找到的最小匹配数
  • 之间(范围) - 找到的匹配数必须在给定范围内
  • exact(Boolean) - 控制is给定XPath中的表达式是完全匹配还是部分匹配

  • 提供无效选项并运行测试时,水豚会输出有效选项的列表:`:count,:minimum,:maximum,:between,:text,:id,:class,:visible,:exact,:exact_text,:match ,:wait,:filter_set` (2认同)