2011-12-09 62 views
0

我正在使用包含兩個組件的表單測試頁面 - 每個部分都有相同的標記字段。對於水豚,我想確保頁面上不僅有「名稱」字段(應該有「字段名」),而且實際上有兩個字段。水豚/ Rspec爲一個以上的給定元素測試?

顯然,我可以用xpath來做到這一點,但這不是最佳解決方案。有沒有更好的方法來處理這種內置於Capybara或Rspec的內置?

回答

1

看看within - 它適用於動作和匹配器。例如:

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

這是可行的(在這種情況下),我可能應該早一點考慮它,因爲我以前使用過它。儘管如此,尋找多個元素的一般方法仍然值得讚賞,而不是依賴於稍後可能會改變的容器。在很多情況下,例如「在下面選擇最多四個名稱」,可能會有四個標籤相同的字段未包含在自己明確劃分的部分。 – GlyphGryph

0

我想這就是你要找的,請看docs。例如:

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