2013-05-13 38 views
0

我有兩個圍繞搜索結果名稱的<h4>。我需要比較第一個和最後一個結果的值,以確保它們按字母順序排列。 h4有一類search-result-name。他們都在相同的form標籤與編號#search-resultsRails + Cucumber/Selenium/Capybara:比較兩個h4的文本值與同一個類別?

這是目前我的破黃瓜測試:

Then(/^the results should be alphabetical$/) do 
    first_product_name = page.all('.search-result-name')[1] #first('.search-result-name').text 
    last_product_name = page.all('.search-result-name')[2] 
    first_product_name[0].should <= last_product_name[0] 
end 

這是給我的錯誤undefined method '[]' for nil:NilClass (NoMethodError),所以我在想,我做正確的找到。我找不到任何關於如何查找元素的第二,第三等匹配的文檔。事情是,他們都在同一個div,他們有相同的類。我將如何使用硒/水豚來尋找它?

回答

0

使用威武XPath//form/h4[@class="search-result-name"][1]是指第一h4節點,
同樣,//form/h4[@class="search-result-name"][2]指第二h4節點

Capybara積極支持查找和由XPath查詢。
我沒有關於您的DOM的完整知識,所以根據輸入,上面必須工作。根據你自己的修改。 :)