2016-07-25 1 views
0

用に作成する私のレールアプリでは、私はrails_adminを使用しています。私は関係を満たしたい。言う、郵便は著者に属する。私は著者を設定したい。 rails_adminは、このデータ(xhr)の選択にオートコンプリートフォームを使用します。どのように私は価値を選択し、capybaraを使用してこのデータを提出するのですか?ここではノーマルセレクトは機能しません。統合テスト:Rails_Adminでの自動補完ドロップダウンをCapybaraを使って

私はドロップダウンから

を最初の値を選択するか、そのようなデータを埋めるために他のいくつかのアプローチがあり、私は次のアクションにニンジンのアイコンを

  1. クリックし、
  2. を取る必要があると仮定していますつまりスクリプトを実行するなど。 どうすればよいですか?

    編集

    今のように、私はセレンのドライバを使用し始めていると私は、次の解決策

    within '#post_user_id_field' do 
        find(".input-group-btn").click 
    end 
    page.execute_script(%q{$("ul#ui-id-3").find("li")[1].click()}) 
    

    を使用しているいくつかのより良いアプローチを提案します。事前に

    おかげで、

答えて

0

は、私はいくつかの有用な情報を見つけましたUsing Capybara with RSpecを見ていました。あなたのコードを見ることなく、上記のリンクから取って、次のようなことができます:

describe 'some stuff which requires js', :js => true do 
    it 'will use the default js driver' 
    it 'will switch to one specific driver', :driver => :webkit 
end 

これはあなたのテストでjavascriptを有効にします。それでも選択に問題がある場合は、save_and_open_screenshotをテストコードに入れて、javascriptドライバが認識していることを確認して、デバッグを行うことができます。 :https://github.com/jnicklas/capybara#drivers

注 - あなたはそれが本当にページのHTMLに依存んが、基本的には

find(:css, 'selector for the caret').click 
find(:css, 'selector for the dropdown elements', text: 'text of the dropdown element to be selected').click 

に帰着して、JSをサポートするドライバを使用していることを確認してくださいどのように

0

:Capybara.default_selector ==:cssの場合は、find呼び出しのcssは必要ありません(デフォルトで行います)

関連する問題