Как имитировать нажатие 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 6

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"