#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()')
Примечание: Если вы делаете это в коде, который фактически тестирует сайт / приложение, ваш тест в основном бесполезен.