从Cucumber/Capybara测试执行JavaScript

lha*_*hne 11 ruby testing selenium cucumber capybara

看来Selenium有一个叫做的功能JavascriptExecutor,它可以直接在页面上执行JavaScript.然而,似乎我的Cucumber/Capybara测试没有这样的东西可用.如何从我的Cucumber测试中执行任意JavaScript?

小智 17

Capybara有两种执行javascript #execute_script和#evaluate_script的方法.两者都可以在以下网址找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Selenium/Driver

但请注意,自述文件有关于上述方法的说明:

对于简单表达式,您可以返回脚本的结果.请注意,这可能会破坏更复杂的表达式:

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