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