1

我一直在尝试辨别匹配器的鲜为人知的选项是什么。这是测试和玩弄我发现的选项的结果。基本上没有关于这些东西的文档,其中大部分来自反复试验。

  • :数数
    • 仅当数字正确时才匹配
    • 例如:page.should_selector '<#id>', :count => 4
  • :可见的
    • 仅在可见元素上匹配
    • 例如:page.should_selector '<#id>', :visible
  • :文本
    • 匹配匹配元素内的文本
    • 例如:page.should_selector '<#id>', :text
  • :和
    • 匹配具有特定值的表单字段
    • 例如:page.should have_selector '<#id>', :with => 'Jonas'
  • :之间
    • 例如:page.should_selector '<#id>', :between => '15'
    • 不知道这是如何工作的。错误是完全不合逻辑的。
    • 实际错误消息:预计在 1 到 3 次之间找到字段“宇宙飞船”,找到 2 个匹配项
  • :最大
    • 例如:page.should have_selector '<#id>', :maximum => '15'
    • 如果字段数未超过指定数 (15),则匹配
    • :minimum 与 :maximum 相反
  • :精确的
    • 不知道这是做什么的:/我很失望......
  • :匹配
    • 也不知道这是做什么的,真的......
  • :等待
    • 也不知道这有什么作用...
  • :type (不像宣传的那样工作。贬低?)

  • 无效选项错误的输出:

    • :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

4

1 回答 1

1

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

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

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

另外,两个一般说明:

  • 如果您有幸使用了具有良好测试覆盖率的库,那么规范本身通常可以作为一种穷人的文档。(查找specortest文件夹。)

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

于 2013-10-04T21:18:03.880 回答