1

我正在使用capybara-webkit測試填充字段使用jquery-tokeninput(https://github.com/loopj/jquery-tokeninput)的表單。問題是使用fill_in不適用於此。無論如何要自動測試這個嗎?提前致謝。在rails中使用capybara-webkit模擬keypress

回答

-3

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

發送 'A' 字符輸入誰的ID是搜索(#搜尋)

而且我發送到 「輸入#搜索」

發送的 'a', 「b」和「C」字符輸入誰的ID是搜索(#搜尋)

我送ABC「輸入#搜索」

你可以把它們放在引號如果你覺得米礦石舒適

我送「ABC」爲「輸入#搜索」

您還可以發送改性劑/特殊擊鍵的元素

我arrow_left發送到「輸入#搜索」

你甚至可以發送改性劑和字符的組合

這將導致一個「A」發送到輸入的字符

而且我發[班,一]爲「輸入#搜索」

或者,也許你只是想按enter鍵

我送進入到「輸入#搜索」

就怎麼爽就來測試在文本區域計數器(譬如說Twitter的應用程序)

我送個招呼「#message」 我應該能看到「135」中的「CHARACTERS_LEFT」 我送退格「#message」 而我應該在「characters_left」中看到「136」

我們用它來測試完成建議

第一個建議的名稱被強調,並回答了一個輸入按鍵

我送「博」到「輸入#用戶名」 我應該看到「鮑勃」內「username_suggestions」 我送進入到「輸入#用戶名」

+3

可能值得注意的是,這隻適用於使用硒webdriver,而不是capybara-webkit – Ryan 2012-04-03 23:54:52

0

我一直在使用令牌輸入也和它的作用是,它隱藏了您的實際輸入字段,並與其他元素有一個ID匹配token-input-{your_field_id}替換它。所以說你有一個編號爲search的字段,你應該實際上使用編號爲token-input-search的元素。

因此,一個示例代碼片段是:

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

你以後可以測試你的行爲。

0

從水豚,WebKit的代碼的發佈說明,他們已經從1.0.0版本此項:

* Set text fields using native key events. 

所以,它看起來像設置的文本字段將會導致本土事件發生。

和你一樣,我也需要這個工作,發現這並獲得成功:

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

我的JavaScript拿起keyup事件,它是監聽併發射的方式應該。