2013-07-09 14 views
6

mam test z RSpec jak poniżejJak symulować naciśnięcie klawisza Enter w rspec

describe "visitor do search" do  
    before do 
     fill_in "keyword", with: "London" 
     click_button "search_all" 
    end 

    it "should visit search result path" do 
     page.should have_selector('title', :text => "Search Result") 
    end 
end 

Chcę usunąć przycisk „search_all” i zmienić go z imprezy jak naciśnięcie wprowadzić za pomocą klawiatury.

Jak napisać kod za pomocą RSpec?

Pozdrawiam,

Odpowiedz

4

można to zrobić za pomocą capybara-webkit, która jest kierowca Kapibara pozwala przetestować Javascript. Wystarczy przeczytać doc do zainstalowania go i sprawiają, że praca w projekcie, to powinieneś być w stanie symulować kliknięcie na klawiaturze używając ten kawałek kodu:

keypress = "var e = $.Event('keydown', { keyCode: 13 }); $('body').trigger(e);" 
page.driver.execute_script(keypress) 

Nadzieja to pomaga.

+1

dzięki :) jego zadziwiająco dziala !! –

6

Wystarczy dodać '\ n' na końcu łańcucha zapytania:

fill_in "keyword", with: "London\n" 
+0

Bardzo ładne. Prawie zainstalowałem Qt za pomocą kapibara-webkita dla tego super trywialnego zadania. Używam rspec z kapibara i to również działało: 'find ('# thing') .set" word \ n "' – taystack

Powiązane problemy