Как нажать кнопку visible: false в capybara?

#testing #rspec #automated-tests #capybara

#тестирование #rspec #автоматизированные тесты #capybara

Вопрос:

Я могу получить элемент через

 page.find_button("Save", visible: :hidden, wait: 5)
  

Но я не могу вызвать щелчок

 page.find_button("Save", visible: :hidden, wait: 5).click
  

Ответ №1:

Поскольку Capybara в первую очередь разработана как инструмент тестирования, она пытается имитировать то, что пользователь действительно может сделать. Поскольку пользователь не может нажать на невидимую кнопку, Capybara также не может напрямую. Если вы тестируете, вам нужно повторить то, что сделал бы пользователь.

Если, с другой стороны, вы просто автоматизируете сайт для очистки некоторых данных и действительно хотите запустить событие click, вы можете попробовать что-то вроде

 page.find_button("Save", visible: :hidden, wait: 5).execute_script('this.click()')
  

Примечание: Если вы делаете это в коде, который фактически тестирует сайт / приложение, ваш тест в основном бесполезен.