Как нажать на кнопку, которую можно идентифицировать только по пользовательскому атрибуту? - PullRequest
1 голос
/ 04 апреля 2019

Я только начинаю автоматизированное тестирование и пишу код для фальшивого сайта, который мой друг настроил для тестирования.Тест, который я пишу, предназначен для нажатия кнопки «Добавить в корзину», однако каждая кнопка имеет один и тот же точный класс, и единственный способ действительно идентифицировать их - через пользовательские атрибуты.

Этоэто код кнопки, которую я пытаюсь нажать

<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 голосов
/ 04 апреля 2019

Вы можете попробовать что-то вроде:

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

Подобный пост: Кнопка выбора огурца / капибары из определенного класса?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...