如何使用鲜为人知的Capybara Matcher选项?

时间:2013-10-04 20:10:07

标签: javascript cucumber capybara

我一直在试图辨别匹配器的不太知名的选项。这是测试和玩弄我发现的选项的结果。基本上没有关于这些东西的文档,其中大部分来自试错。

  • :计数
    • 仅在数字正确时匹配
    • 例如:page.should have_selector'< #id>',:count => 4
  • :可见
    • 仅与可见元素匹配
    • Ex:page.should have_selector'< #id>',:visible
  • :文本
    • 匹配匹配元素内的文字
    • 例如:page.should have_selector'< #id>',:text
  • :用
    • 匹配具有特定值的表单字段
    • 例如:page.should have_selector'< #id>',:with => 'Jonas的
  • :间
    • 例如:page.should have_selector'< #id>',:between => '15'
    • 不知道这是如何运作的。错误完全不合逻辑。
    • 实际错误信息:预计在1到3次之间找到“太空飞船”字段,找到2个匹配
  • :最大
    • Ex:page.should have_selector'< #id>',:maximum => '15'
    • 如果字段数超过指定的数字(15)
    • ,则匹配
    • :最小值与最大值相反:
  • :精确
    • 不知道这是做什么的:/我很失望......
  • :匹配
    • 不知道这是做什么的,真的......
  • :等待
    • 不知道这是做什么......
  • :输入(不按宣传方式工作。已删除?)

  • 无效选项错误输出:

    • :text,:visible,:between,:count,:maximum,:minimum,:exact,:match,:wait,:checked,:unchecked,:disabled,:with,:type
    • 输出:page.should have_field' gears',{:wrench => 'test'}

相关文档:http://rubydoc.info/github/jnicklas/capybara

1 个答案:

答案 0 :(得分:1)

当文档稀缺时,最好的选择可能是阅读代码。

对于Capybara来说,这似乎是一个很好的起点:

https://github.com/jnicklas/capybara/blob/master/lib/capybara/session.rb#L27

另外,两个一般性说明:

  • 如果您有幸与一个具有良好测试覆盖率的图书馆合作,那么这些规范本身往往就像一个穷人的文档。 (查找spectest文件夹。)

  • 如果您发现了未记录的功能,请考虑提交拉取请求以添加到文档中。后人将不胜感激。 : - )