如何验证链接指向正确的图像并具有正确的目标和标题

时间:2010-09-12 21:09:22

标签: cucumber capybara

我在导轨2.3.9申请中使用黄瓜与黄瓜。

这是我的HTML代码

<a href="http://twitter.com/dorelal" target="_blank" title="twitter">
  <img alt="twitter" src="/images/social/twitter.png?1284129939" />
</a>

我想验证以下内容

image should be ending with twitter.png
image alt should be "twitter"
link should have href "http://twitter.com/dorelal"
link should have target "_blank"
link should have title "twitter"

2 个答案:

答案 0 :(得分:1)

Capybara现在支持检查href。

https://github.com/jnicklas/capybara/pull/207

答案 1 :(得分:0)

验证链接的最佳方法是让您的驱动程序单击它,然后检查它是否已进入正确的页面。这将使您更有信心,您的应用程序没有错误地错误,重定向等。对于在测试中单击链接的特殊情况是不明智的(例如:如果链接离开现场),我使用此步骤:< / p>

Then I should see a link titled "foo"
Then I should see a link titled "foo" that goes to "http://www.example.org"

Then /^I should see a link titled "(.+?)"(?: that goes to "(.+)")?$/ do |title, target|
  if target.blank?
    page.should have_link(title)
  else
    page.should have_link(title, :href => target)
  end
end

如果您获得“错误的参数数量(2对1)”,请更新您的Capybara版本。 :href =&gt;最近添加了'bar'选项。