%table.table-hover{}
%thead
%tr
%th Registration NO.
%th Name
%th Tier
%th Email
%tbody
- @accounts.each do |user|
%tr{:onclick => "window.location='/accounts/#{user[:id]}';"}
%td #{user.id}
%td #{user.givenname}
- if user.admin?
%td Admin
- elsif user.tech?
%td Technician
- else
%td User
%td #{user.email}
这是页面的代码,所以当你点击表格表中的一行时,它应该跳转到另一个页面,这是该行的详细信息。详细信息页面这是我的测试代码。
require 'rails_helper'
RSpec.describe 'accounts' do
context :js => true do
before do
@testAdmin = FactoryGirl.create(:admin)
end
describe 'Account Page can' do
before do
login_as(@testAdmin, :scope => :account)
visit '/accounts'
end
specify "visit account page" do
page.find(:xpath, "//table/tbody/tr").click
expect(page).to have_content 'Account: testAdmin'
end
end
end
end
当我运行并打印出页面时,它似乎仍在表格页面上,这意味着它没有跳转到详细信息页面。
正如@Daniel 所指出的,您的context
行中没有任何描述文本。这意味着:js => true
将作为上下文块的名称,而不是用作元数据来切换到支持 JS 的驱动程序。从失败的测试的名称中应该可以注意到这一点,该名称类似于accounts {:js=>true} Account Page can visit account page
. 要修复,您只需要在context
调用中包含描述性文本
context "something", js: true
或者只是转储上下文块并将元数据应用于其他任何有意义的块
describe 'Account Page can', js: true do
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句