1

セルレンを使用するフォームでTokeninputフィールドをテストできません。状況は何かを入力すると、選択するオプションにリストが与えられますが、それらのオプションはDOMの一部ではありません。テキストはフィールドを塗りつぶしますが、アイテムは選択されません。Seleniumを使用してjQuery TokenInputフィールドをテストする方法

私が書いたコードは次のとおりです。

Given admin user is on schedule interview page 
And he select "obie[1]" and "DHH[1]" from the candidate name(s) auto sugget field 

**step defination** 
Given /^he select "([^"]*)" and "([^"]*)" from the candidate name\(s\) auto sugget field$/ do |arg1, arg2| 

within(:css, "#interview_template_candidate_names_input") do 

    fill_in('tmp',:with => arg1)    --tmp is name of the token input field 
    find("li:contains('obie[1])'").click 
    save_and_open_page 
    end 
end 

答えて

4

私は最終的にこの作品を作ることに成功しました。 https://gist.github.com/1229684

このリストはdom(div.token-input-dropdown)の一部であり、body要素の最後の子として追加されているため、おそらくあなたがそれを見なかったのです。

tokeninputプラグインが何をしているのか分かっていれば、何をする必要があるのか​​をよりよく知ることができます。それぞれが作成したtokeninputの場合、プラグイン:

  1. は(すぐにinput#your_input_id前)ul.token-input-list
  2. ul.token-input-list input#token-input-your_input_id
  3. input#your_input_id
  4. div.token-input-dropdown

だから、ほとんどが作成されますが非表示になりますが作成されます作成しますあなたがその相対的な位置に基づいてそれを見つけなければならないので、挑戦的な部分は正しいul.token-input-listを見つけることですセレンのwebdriverはdomをナビゲートすることはできません。

その後、あなたが探しているものに一致するdiv.token-input-dropdown liオプションのinput#token-input-your_input_idと "click"と入力してください。

+0

これは私のために働いた。この例はうまくいきます:http://rafael-chacon.com/post/57642520798/rspec-capybara-poltergeist-tokeninput – dannio

関連する問題