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

时间:2011-10-23 13:42:08

标签: capybara

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

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

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

2 个答案:

答案 0 :(得分:8)

实际上,您似乎只需将 \ n 发送给capybara的本机设置方法并实现相同的效果(以更灵活,与驱动程序无关的方式)。

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

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

(请注意,正如pull请求的作者解释here一样,这只有在您绑定到特定的keydown事件时才有效,而不是如果您绑定到应该由它生成的表单提交。)

答案 1 :(得分:4)

考虑使用Capybara::Driver::Selenium作为该特定方案的页面驱动程序。如果你这样做,你可以做这样的事情:

place = page.find_by_id('tinymce').native
place.send_keys("I rule!")
place.send_key "\xEE\x80\x83"