3

安装 capybara-webkit 后,我​​尝试在规范中进行测试,这是我的测试:

Capybara.default_driver = :webkit

page.execute_script("$('#submit_direction').attr('value', '1');$('#quizForm').submit()")

然后,我收到此错误:

/home/sam/.rvm/gems/ruby-1.9.3-p0@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:136:警告:不安全的世界可写目录/home/sam/Documents PATH 中的 /RoR,模式 040777 未定义|0|ReferenceError:找不到变量:$

Capybara::Driver::Webkit::WebkitInvalidResponseError: Javascript 执行失败

请问有什么想法吗?

4

1 回答 1

8

我猜 capybara-webkit JS 驱动程序有点狡猾。

水豚 github 页面

对于简单的表达式,您可以返回脚本的结果。请注意,这可能会因更复杂的表达式而中断:

结果 = page.evaluate_script('4 + 4');

然而,从你那里的代码来看,你可以用 Capybara 本身做很多事情。

$('#submit_direction').attr('value', '1')

可以替换为:

page.find("#submit_direction").set('1')

$('#quizForm').submit()

可以替换为:

page.click_on('quizForm')

参见 capybara文档关于 capybara 动作

于 2012-01-22T23:05:47.207 回答