Capybara的have_selector有哪些选项?

12

我在 RSpec 中遇到了这个错误。是否有have_selector的文档,解释选项哈希表中每个键的含义以及它确切的作用?

我在RSpec中遇到了这个错误。是否有have_selector的文档,解释选项哈希表中每个键的含义以及它确切的作用?

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

25

capybara提供了这个方法给rspec使用。 capybara的文档 不容易找到问题的答案,所以我们来看源代码:

have_selectorCapybara::RSpecMatchers 中。它代理到嵌套类 HaveSelector,该类又代理到方法 assert_selector

assert_selectorCapybara::Node::Matchers 中。(还有一个方法 has_selector?,尽管rspec不是这么称呼它的。)assert_selector 的 rdoc 记录了 :count 选项。它还说“它也接受 Finder#all 接受的所有选项,如 :text 和 :visible。” 点击进入Finder#all 最终带我们到所有选项的文档:

Options Hash (options):

  • text(String,Regexp)— 仅查找包含此文本或与此正则表达式匹配的元素
  • visible(Boolean)— 仅查找页面上可见的元素。将其设置为 false 可以找到不可见和可见的元素。
  • count(Integer)— 预期找到的确切匹配数
  • maximum(Integer)— 预期找到的最大匹配数
  • minimum(Integer)— 预期找到的最小匹配数
  • between(Range)— 找到的匹配数必须在给定范围内
  • exact(Boolean)— 控制给定 XPath 中的 is 表达式是否精确匹配或部分匹配

2
当提供无效选项并运行测试时,Capybara会输出一系列有效选项: :count, :minimum, :maximum, :between, :text, :id, :class, :visible, :exact, :exact_text, :match, :wait, :filter_set - colinharris05

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接