I'm using capybara-webkit to test a form where the fields are populated using jquery-tokeninput (https://github.com/loopj/jquery-tokeninput). The problem is that using fill_in does not work with this. Is there anyway to test this automatically? Thanks in advance.
3 に答える
私もトークン入力を使用していますが、実際の入力フィールドを非表示にし、id が一致する別の要素に置き換えますtoken-input-{your_field_id}
。したがって、 id を持つフィールドがあるとしsearch
ます。実際には、 id を持つ要素をターゲットにする必要がありますtoken-input-search
。
したがって、コード スニペットの例は次のようになります。
fill_in "token-input-search", with: "hello"
そして、後で動作をテストできます。
https://github.com/markgandolfo/send-keys
「a」文字を、入力者の ID が検索 (#search) に送信します。
そして、「input#search」に送信します
'a'、'b'、'c' の文字を、who's id is search (#search) という入力に送信します。
そして、abc を「input#search」に送信します
より快適に感じる場合は、それらを引用符で囲むことができます
そして、「input#search」に「abc」を送信します
修飾子/特殊キーストロークを要素に送信することもできます
そして、「input#search」に arrow_left を送ります
修飾子と文字の組み合わせを送信することもできます
これにより、文字「A」が入力に送信されます
そして、[shift, a] を "input#search" に送信します
または、単にEnterキーを押したいだけかもしれません
そして、「input#search」にエンターを送ります
テキスト領域でカウンターをテストするのはどれほどクールでしょうか (Twitter アプリの場合など)。
「#message」に hello を送信すると、「characters_left」に「135」が表示されます「#message」にバックスペースが送信されます「characters_left」に「136」が表示されます
補完候補のテストに使用しました
最初に提案された名前が強調表示され、Enter キーを押すと応答しました
「bo」を「input#username」に送信すると、「username_suggestions」内に「bob」が表示されるはずです「input#username」にEnterを送信します