Capybara / Rspec测试多个给定元素?

时间:2011-12-09 14:27:09

标签: ruby rspec capybara

我正在测试一个页面,其中包含一个包含两个组件的表单 - 每个部分中都有相同的标记字段。对于Capybara,我想确保页面上不仅有“名称”字段(应该有“域名”),但实际上有两个字段。

显然,我可以用xpath做到这一点,但这不是最佳解决方案。是否有更好的方法来处理内置于Capybara或Rspec的内容?

2 个答案:

答案 0 :(得分:1)

看看within - 它适用于行动和匹配器。例如:

within("#some_id")  { page.should_have("some content") }
within("#other_id") { page.should_have("some content") }

答案 1 :(得分:0)

我认为这正是您所寻找的,请参阅docs。例如:

all('a').each { |a| a[:href] }