Ho un elemento Select2 in una pagina che carica i risultati tramite ajax. Vorresti provare questo con capybara/rspec (usando il driver poltergeist), ma poiché l'elemento Select2 inizia effettivamente come un campo nascosto, e popola uno <ul>
una volta che i risultati vengono elaborati, nessuno dei normali aiutanti select
, fill_in
o choose
lavoro.Come testare un elemento Select2 con DSL capybara?
Quello che ho ora è sopra qualcosa come
it "should have a search field for events" do
click_link "Select an Event" # this works as expected
within('.select2-container') do # works
find('.select2-search input').set(event.description[0,5]) # won't work!
find(:xpath, "li[text()='#{event.description}']").click
end
click_button "Search"
page.should have_content("Displaying all 2 photos")
end
linea 4, a quanto pare capibara può trovare l'elemento, ma il valore non è cambiato e Select2 mai fa la sua chiamata AJAX. (Non è possibile utilizzare il normale fill_in
lì perché l'elemento di campo di ricerca non ha etichetta, id, o attributi nome)
Un problema del tutto frustrante – guero64