capybara:用终止输入键填写表单字段值

标签 capybara

我正在测试条形码阅读器输入...它的行为类似于键盘,但以回车键字符终止每个条形码。我的 javascript 检测到 Enter 键并做出响应(backbone.js 应用程序)。

如何使用具有终止 Enter 键值的字符串“填写”表单字段?

我的测试堆栈是cucumber/capybara/capybara-webkit。

最佳答案

实际上,似乎您只需向 capybara 的 native set 方法发送 \n 即可达到相同的效果(以更灵活、与驱动程序无关的方式)。

因此,在我的代码中,当前正在触发表单提交事件(由 JS 处理):

  field = find("form input[type=text]")
  field.set "my comment\n"

(请注意,正如拉取请求的作者所解释的 here ,这仅在您绑定(bind)到特定的 keydown 事件时才有效,而不是在您绑定(bind)到由此产生的表单提交时有效。)

关于capybara:用终止输入键填写表单字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7866469/

相关文章:

ruby - Capybara - 查找带有 Id 和文本的元素或使用多个属性

ruby-on-rails - cucumber /路轨错误未初始化的常量DatabaseCleaner(NameError)

ruby-on-rails - 如何为所有 capybara 功能设置 http header

node.js - 测试 NodeJS 应用程序时,我应该将 Capybara.app 设置为什么?

ruby-on-rails - 如何为 Capybara 测试禁用 webmock?

ruby-on-rails - Rspec - 未定义的方法 'let'

ruby - capybara ::dsl::模块的未定义方法 'delegate'

ruby-on-rails - 我可以使用 Selenium IDE 生成 Cucumber/Capybara 步骤吗?

javascript - 为 rspec 2.10 Rails 3.1 View 规范测试启用 JavaScript

ruby - capybara 的多个 session