Выполнение JavaScript из теста Cucumber/Capybara

Похоже, что Selenium имеет функцию под названием JavascriptExecutor, которая позволяет выполнять JavaScript непосредственно на странице. Однако, как представляется, нет такой вещи, доступной для моих тестов Cucumber/Capybara. Как я могу выполнить произвольный JavaScript из моих тестов Cucumber?

Ответ 1

Capybara имеет два метода для выполнения javascript #execute_script и #evaluate_script. Оба можно найти по адресу: http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Selenium/Driver

Однако обратите внимание, что readme имеет это утверждение о вышеуказанных методах:

Для простых выражений вы можете вернуть результат script. Заметка что это может сломаться с более сложными выражениями:

См. http://rubydoc.info/github/jnicklas/capybara/master/file/README.md.