Как имитировать нажатие Enter в Rspec

У меня есть тест с 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

Я хочу удалить кнопку "search_all" и изменить ее с помощью события, например, нажав enter с помощью клавиатуры.

Как написать код для этого с помощью RSpec ?

С уважением,

2 ответов


вы можете сделать это с помощью capybara-webkit, который является драйвером Capybara, позволяющим тестировать Javascript. Просто прочитайте документ, чтобы установить его и заставить его работать в вашем проекте, тогда вы сможете имитировать щелчок по клавиатуре с помощью этого фрагмента кода:

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

надеюсь, что это помогает.


просто добавьте '\n' в конец строки запроса:

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