我正在使用capybara-webkit来测试使用jquery-tokeninput(https://github.com/loopj/jquery-tokeninput)填充字段的表单。问题是使用fill_in不适用于此。反正有自动测试吗?提前致谢。
答案 0 :(得分:0)
我一直在使用令牌输入,它的作用是隐藏你的实际输入字段,并用另一个id匹配token-input-{your_field_id}
的元素替换它。因此,假设您有一个标识为search
的字段,您实际上应该使用标识token-input-search
来定位该元素。
因此,示例代码段将是:
fill_in "token-input-search", with: "hello"
然后你可以测试你的行为。
答案 1 :(得分:0)
从capybara-webkit代码的发行说明中,他们从1.0.0版本中获得了这个条目:
* Set text fields using native key events.
因此,看起来在文本字段上设置文本会导致本机事件触发。
和你一样,我也需要这个工作,并发现这就是诀窍:
find('input#query').set 'some text'
我的javascript选择了它正在侦听的keyup
事件,然后解雇它。
答案 2 :(得分:-3)
https://github.com/markgandolfo/send-keys
我发送了一个“输入#search”
我发送abc到“输入#search”
我将'abc'发送到“input#search”
我发送arrow_left到“输入#search”
我将[shift,a]发送到“input#search”
我发送回“输入#search”
我向“#message”发送你好 我应该在“characters_left”中看到“135” 我将退格发送到“#message” 我应该在“characters_left”中看到“136”
我发送“bo”到“input#username” 我应该在“username_suggestions”中看到“bob” 然后我将回车输入“input#username”