给出像这样的HTML结构
<a href="…"><strong>My Link</strong></a>
没有被Capybara通过黄瓜步骤抓住
When I follow "My Link"
使用默认的webstep
When /^(?:|I )follow "([^"]*)"$/ do |link|
click_link(link)
end
虽然这有效:
When I follow "<strong>My Link</strong>"
我没有长时间使用Capbybara,但我可以看到导致问题的原因。所以,在更一般的层面上 - 正确的方法是什么?当然这个案子必须非常普遍,对吗?
关于黄瓜滥用的任何想法和一般思考都非常受欢迎!
答案 0 :(得分:1)
我会在锚标记之外移动强标记,或者更好地使用CSS。
或者您可以为链接分配id属性并使用它而不是内容。如果您的应用支持多种语言,这种方式最佳。
否则你必须为这种特殊情况编写某种xpath选择器:
find(:xpath, "//a[contains(//text(), \"#{locator}\")]").click
没有经过测试,只是一个想法。