1

我正在使用 capybara-webkit 来测试使用 jquery-tokeninput (https://github.com/loopj/jquery-tokeninput) 填充字段的表单。问题是使用 fill_in 不适用于此。反正有没有自动测试这个?提前致谢。

4

3 回答 3

0

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

所以一个示例代码片段是:

fill_in "token-input-search", with: "hello"

然后你可以测试你的行为。

于 2012-11-21T08:03:42.173 回答
0

从 capybara-webkit 代码中的发行说明中,他们从 1.0.0 版本中获得了以下条目:

* Set text fields using native key events.

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

像你一样,我也需要这个来工作,并发现这可以解决问题:

find('input#query').set 'some text'

我的 javascript 拾取了keyup它正在侦听的事件并以它应该的方式触发。

于 2015-03-05T22:20:31.953 回答
-3

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

将“a”字符发送到 id 为 search 的输入 (#search)

我发送一个到“input#search”

将“a”、“b”和“c”字符发送到 id 是搜索的输入 (#search)

我将 abc 发送到“input#search”

如果您感觉更舒服,可以将它们放在引号中

我将“abc”发送到“input#search”

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

我将 arrow_left 发送到“input#search”

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

这将导致将字符“A”发送到输入

我将 [shift, a] 发送到“input#search”

或者你只是想按回车

我将输入发送到“input#search”

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

我向“#message”发送你好我应该在“characters_left”中看到“135”我向“#message”发送退格键我应该在“characters_left”中看到“136”

我们用它来测试完成建议

第一个建议的名称被突出显示并响应输入键

我将“bo”发送到“input#username”我应该在“username_suggestions”中看到“bob”然后我将输入发送到“input#username”

于 2012-03-01T18:51:51.320 回答