1
我基本上試圖獲得「has_content?」的功能或者「should have_content」匹配器,該選項:count提供了has_css?匹配器。 。我如何測試RSpec匹配器has_content在頁面上找到的匹配數量?
我基本上試圖獲得「has_content?」的功能或者「should have_content」匹配器,該選項:count提供了has_css?匹配器。 。我如何測試RSpec匹配器has_content在頁面上找到的匹配數量?
你可以嘗試像多數民衆贊成所有( 'A')長度
下面是幾個例子:
describe 'my awesome page' do
before :each do
visit root_path
end
# css just for querying DOM
it 'number of titles should be huge' do
page.all(:css,'h2.awesome_header').length.should have_at_least(3).items
end
it 'has exactly 4 div elements' do
page.all(:css,'div.awesome_class').length.should == 4
end
# For querying content you can try :xpath instead :css.
it 'has paragraps with text' do
page.all(:xpath, '//div[contains(., "t")]').length.should == 9
end
end
更新:
我找到更優雅的方式來做這個。 檢查文檔在這裏:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders:all 這裏工作示例
page.all(:css, 'p', :text => /.*wellcome.*/).length.should == 2
不知道你的意思在這裏。你能用這個語法給我寫一個示例測試嗎? – 2012-07-13 21:19:49
這些都是非常好的例子,但是我真的很想找到一個字符串在渲染頁面上出現的次數,而不知道DOM中可能存在或不存在的地方。我會投票答覆你的答案,因爲這是很好的信息,但我不打算將它標記爲「答案」,因爲它並沒有真正讓我做出我想做的事情。謝謝你一堆:) – 2012-07-16 17:45:00
你可以使用一些正則表達式來反對 - ** page.text ** – Vladimir 2012-07-16 18:10:11