我想用我的應用程序中的黃瓜來檢查Ruby on Rails視圖的內容。該視圖在表格中顯示信息。我希望能夠僅檢查該表的一列的內容。當我使用網頁步驟定義"I should see"
時,它會檢查整個頁面。有沒有簡單的方法來做到這一點?黃瓜:如何檢查列中的特定文本?
例如:column.should have_content("text")
我想用我的應用程序中的黃瓜來檢查Ruby on Rails視圖的內容。該視圖在表格中顯示信息。我希望能夠僅檢查該表的一列的內容。當我使用網頁步驟定義"I should see"
時,它會檢查整個頁面。有沒有簡單的方法來做到這一點?黃瓜:如何檢查列中的特定文本?
例如:column.should have_content("text")
水豚的內置作用域可以是比那些xpaths更容易維護
within "#id_for_your_tr"
within('td', :class=> 'class_for_your_column')
page.should have_content "foo"
end
end
使用水豚+黃瓜, 說你的步驟是
Then I should see the following (#MYTABLE)
| FOO | 94040 | "friendly" |
| BAR | 94050 | "competition"|
步驟定義
Then /^I should see the following games:$/ do |expected_table|
table_results = page.find('#DOM_ID')
end
我複雜的給你定義approac
When /^(.*) in the "([^\"]*)" column of the "([^\"]*)" row$/ do |
action, column_title, row_title|
col_number = 0
all(:xpath, "//*[(th|td)/descendant-or-self::*[contains(text(),
'#{column_title}')]]/th").each do |element|
col_number += 1
break if element.has_content?(column_title)
end
within :xpath, "//*[(th|td)/descendant-or-self::*[contains(text(),
'#{row_title}')]]/td[#{col_number}]" do
When action
end
end
檢查表結構被genereated可以使用 檢查的行數是X page.should have_selector(「表TR」,:計數=> X)
-1。黃瓜[內置方法](http://cukes.info/cucumber/api/ruby/1.1.6/Cucumber/Ast/Table.html)用於訪問[數據表](https://github.com/cucumber /黃瓜/維基/多行步-參數)。不要自己改造它。 –