在 capybara-webkit 中替代 find_field('doc-name').native.send_keys(:tab)
Posted
技术标签:
【中文标题】在 capybara-webkit 中替代 find_field(\'doc-name\').native.send_keys(:tab)【英文标题】:alternative to find_field('doc-name').native.send_keys(:tab) in capybara-webkit在 capybara-webkit 中替代 find_field('doc-name').native.send_keys(:tab) 【发布时间】:2013-01-22 07:33:19 【问题描述】:capybara 中的 :selenium 驱动程序允许我编写:
find_field('doc-name').native.send_keys(:tab)
是否有与 :webkit 驱动程序等效的构造?
我试图从一个字段中移开标签,这会导致一些 AJAX 验证发生,然后继续我的测试文件中的下一步。 capybara-webkit 出现以下错误:
undefined method
send_keys' for "20":String`
我正在使用:
jruby (1.6.7)
capybara (1.1.2)
capybara-webkit (0.13.0)
cucumber (1.1.0)
cucumber-rails2 (0.3.5)
factory_girl (1.2.4)
gherkin (2.5.4)
rails (2.3.8)
rake (0.8.7)
rspec (1.3.2)
rspec-rails (1.3.4)
trinidad (1.3.5)
【问题讨论】:
Is there a way to send key presses to Webkit using Capybara? 的可能重复项 【参考方案1】:Capybara 现在支持send_keys
,如下所示:
element = page.find("#my_element")
element.send_keys(:space)
不过,唯一受支持的按键是 Space、Enter 和 Backspace。
我也觉得它非常不可靠(每隔一段时间就会失败)。
来源: https://github.com/thoughtbot/capybara-webkit/blob/master/lib/capybara/webkit/node.rb#L50-L65
【讨论】:
以上是关于在 capybara-webkit 中替代 find_field('doc-name').native.send_keys(:tab)的主要内容,如果未能解决你的问题,请参考以下文章
Capybara-Webkit:缺少 js/React 并且找不到变量:WeakMap
使用 RSpec + capybara-webkit 检查 JS 框是不是存在