Capybara找到页面上的所有链接并检查网址

时间:2011-12-22 02:27:24

标签: ruby-on-rails webdriver capybara

我想检查页面上的所有链接是否包含某个元素。这是我目前的web_step,但它不起作用。有什么想法吗?

Then /^all links above footer should countain "([^"]+)"$/ do |parameter|
  al = page.all('a')
  al.each do |i|
    i.include?(parameter).should be_true
  end
end

2 个答案:

答案 0 :(得分:1)

您可能需要针对每个a元素的特定属性进行断言 - 如果您正在检查'src'属性是否包含'parameter',那么:

i[:href].include?(parameter).should be_true

或者,为了更好地利用rspec匹配器(并获得更好的失败消息):

i[:href].should include parameter

答案 1 :(得分:1)

[:src]似乎不再起作用。请改用[:href]