7

我对 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”并使用事件更改它,例如按键盘输入。

如何使用 RSpec 编写代码?

问候,

4

2 回答 2

8

只需在查询字符串的末尾添加一个 '\n':

fill_in "keyword", with: "London\n"
于 2015-03-07T23:18:39.367 回答
4

您可以使用capybara-webkit来完成,这是一个 Capybara 驱动程序,允许您测试 Javascript。只需阅读文档以安装它并使其在您的项目中运行,然后您应该能够使用以下代码模拟键盘上的点击:

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

希望这可以帮助。

于 2013-07-09T07:31:34.527 回答