如何使用capybara&rspec点击表格行

u19*_*964 6 html5 capybara rspec-rails ruby-on-rails-3

我正在使用capybara写我的rails应用程序的请求规范.在我的代码中,我有类似的东西:

%table
  %tbody
     %tr{"on_click" => "location.href='some_link'"}
       %td="Some attribute"
       %td="Some attribute"
       %td="Some attribute"
       %td="Some attribute"
Run Code Online (Sandbox Code Playgroud)

这样我就可以使整行可以点击.我想用capybara为这个功能写一个请求规范,但我不知道怎么做.谁可以帮我这个事 ?

谢谢

Sad*_*tam 6

也许你应该首先了解rails中的测试.看一下这个!http://railscasts.com/episodes/275-how-i-test它真的很有帮助.你可以给你tr一个课(说).tr并做

page.find(:css, ".tr").click()

我希望这有效,在我的情况下工作!


Mar*_*rry 5

我发现这个工作不需要课:

page.find(:xpath, "//table/tbody/tr").click
Run Code Online (Sandbox Code Playgroud)

我相信您的行单击需要JavaScript,因此您需要添加:js => true到测试的标题中.使用JavaScript设置测试是一项挑战.我发现这些资源很有帮助:

这是一个更完整的测试示例:

# Note that opening page by clicking on row requires JavaScript
describe "when user clicks on first row", :js => true do

  let(:first_account_listed) { Account.order(:name).first }

  before { page.find(:xpath, "//table/tbody/tr").click }

  it { should have_selector('title', text: 'Account Details') }

end
Run Code Online (Sandbox Code Playgroud)