首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在rails中使用capybara-webkit模拟按键

在rails中使用capybara-webkit模拟按键
EN

Stack Overflow用户
提问于 2012-03-02 00:39:09
回答 3查看 2K关注 0票数 1

我正在使用capybara-webkit测试一个表单,其中的字段是使用jquery-tokeninput (https://github.com/loopj/jquery-tokeninput)填充的。问题是,使用fill_in对此不起作用。有没有自动测试的方法?提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-02 02:51:51

https://github.com/markgandolfo/send-keys

将'a‘字符发送到输入谁的id是搜索(# search )

我给"input#search“发了一个

将'a','b‘和'c’字符发送到输入谁的id是搜索(# search )

我把abc发送到"input#search“

如果你觉得更舒服,你可以把它们放在引号里。

我把'abc‘发送给"input#search“

您还可以将修饰符/特殊键击发送到元素

然后我把arrow_left发送给"input#search“

您甚至可以发送修饰符和字符的组合

这将导致字符'A‘被发送到输入

然后我发送shift,a到"input#search“

或者您只想按enter键

然后我将enter发送给"input#search“

在文本区域(比如twitter应用程序)测试计数器会有多酷?

我向"#message“发送问候,在"characters_left”中应该看到"135“,在"#message”中发送退格键,在"characters_left“中应该看到"136”

我们用它来测试完成建议。

第一个建议的名称将突出显示,并响应enter键

我发送"bo“到"input#username”,我应该在"username_suggestions“中看到"bob”,我发送enter到"input#username“

票数 -3
EN

Stack Overflow用户

发布于 2012-11-21 16:03:42

我也一直在使用令牌输入,它的作用是隐藏您的实际输入字段,并将其替换为具有id匹配token-input-{your_field_id}的另一个元素。假设您有一个id为search的字段,那么您实际上应该以id为token-input-search的元素为目标。

因此,示例代码片段如下:

代码语言:javascript
复制
fill_in "token-input-search", with: "hello"

你可以在之后测试你的行为。

票数 0
EN

Stack Overflow用户

发布于 2015-03-06 06:20:32

在capybara-webkit代码中的发行说明中,他们有来自1.0.0发行版的条目:

代码语言:javascript
复制
* Set text fields using native key events.

因此,在文本字段上设置文本看起来会导致触发本机事件。

像你一样,我也需要这样做,并发现这确实起到了作用:

代码语言:javascript
复制
find('input#query').set 'some text'

我的javascript获得了它正在侦听的keyup事件,并以它应该执行的方式触发了它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9520230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档