Capybara的has_selector有哪些选择?

时间:2014-05-30 18:57:29

标签: ruby rspec capybara

我在RSpec中遇到此错误。是否有have_selector的任何文档可以解释选项哈希中的每个键及其具体用途?

invalid keys :content, should be one of :text, :visible, :between, :count, :maximum, :minimum, :exact, :match, :wait

1 个答案:

答案 0 :(得分:16)

capybara为rspec提供此方法。 capybara's docs无法轻松找到问题的答案,因此请关注来源:

have_selector位于Capybara::RSpecMatchers。它委托给嵌套的类HaveSelector,该类委托给方法assert_selector

assert_selector位于Capybara::Node::Matchers。 (方法has_selector?也是如此,虽然这不是rspec所调用的。)assert_selector's rdoc记录了:count选项。它还说"它还接受Finders#all接受的所有选项,例如:text和:visible。"点击Finders#all最后会找到所有选项的文档:

选项哈希(选项):

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