有没有办法让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>
答案 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
方法,直到错误得到解决。