如何单击只能由自定义属性标识的按钮?

时间:2019-04-04 12:54:19

标签: ruby css-selectors

我刚刚开始进行自动化测试,并且我一直在为朋友为我设置的用于测试的假网站编写一些代码。我正在编写的测试旨在单击“添加到购物车”按钮,但是每个按钮都具有相同的确切类,而真正标识它们的唯一方法是通过自定义属性。

这是我要单击的按钮的代码

<a class="btn btn-success btn-block addItem" data-id="1" data-name="Chocolate Cups" data-price="1.00">Add to Cart</a>

(我正在尝试通过使用data-id属性单击按钮)

每个按钮都具有相同的类,因此无法以这种方式进行标识,否则将弹出错误消息,指出结果为“模棱两可”,因此无法执行。

我使用下面的代码并设法确定了一个特定的按钮,但是我不确定现在如何单击该按钮。

Given("I'm on the sweets list page") do
  visit("https://sweetshop.netlify.com/sweets.html")
end

When("I click {string} button") do |string|
  page.should have_css("*[data-id='1']")
end

Then("add the item to cart") do

end

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

Then("add the item to cart") do
  find(:css, "*[data-id='1']").click
end

Then("add the item to cart") do
  find(:xpath, "//*[@data-id='1']").click
end

类似的帖子:Cucumber/Capybara Selecting Button from Specific Class?