如何选择第三个' a' RSpec测试列表中的标签?

时间:2015-05-01 17:29:26

标签: ruby-on-rails rspec css-selectors click rspec-rails

如何选择列表中的链接以单击进行rspec验收测试。视图的代码是(在html中):

%ul.exports
  %li.model
    .name
      Model 1
    .control
      link_to 'Export', export_model_path(:model1)

我已经尝试了

(page.find("a")[:href] = "/admin/export/users").click

并且响应是' Capybara Ambiguous match'。

我也尝试过各种变体
page.find(".exports li:nth-child(3) control a").click

并且回复无法找到css'。除了href值之外,列表中的所有项目都是相同的。

1 个答案:

答案 0 :(得分:1)

您的Haml示例中只有一个a标记,因此我猜测您的示例不完整。如果您想按照href值检索链接,可以尝试以下方法:

find(:xpath, "//a[@href='/admin/export/users']").click