Rspec目标字体真棒图标链接

时间:2014-09-17 13:06:56

标签: rspec font-awesome

有没有办法让rspec点击特定的字体真棒图标?我对rspec很新,所以如果这是一个非常基本的问题我会道歉。

我尝试了click_link '.fa-envelope',但似乎正在寻找链接的名称。

有什么想法吗?

编辑:

这是我尝试点击的链接的HTML:

  <div class="col-sm-4 align-center">
    <a class="email-link" href="/contact"><i class="fa fa-envelope"></i></a>
  </div>

3 个答案:

答案 0 :(得分:13)

您还可以使用title属性:

<div class="col-sm-4 align-center">
  <a class="email-link" href="/contact" title="Send email"><i class="fa fa-envelope"></i></a>
</div>

然后在您的功能规范中,您可以写:

click_link 'Send email'

希望这有帮助!

答案 1 :(得分:2)

假设您使用水豚,那么您可以使用查找器:

find(".email-link").find(".fa-envelope").click

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders

答案 2 :(得分:2)

我意识到这是一个老问题,但我偶然发现了这个问题,这个线程和其他SO线程中提供的解决方案都没有为我工作。

这是this thread中提到的Capybara 2.1中的已知错误。这是指向建议solution的直接链接。

HTML代码段&amp;解决OP的问题。

HTML代码段:

  <div class="col-sm-4 align-center">
    <a class="email-link" href="/contact"><i class="fa fa-envelope"></i></a>
  </div>

解决方案:

Capybara.page.execute_script %($('i.fa-envelope"').click())

PS:CSS查找器不起作用,所以我们现在必须使用execute_script方法,直到错误得到解决。