使用RSpec,Capybara和Selenium测试Ruby on Rails应用程序。
我想点击一个href
但由于event.preventDefault
而无法领先的锚点。尽管如此,该链接将测试引导至链接页面,而不是保留在当前页面上。
我的第一印象是Javascript无效。除了其他测试,我可以看到Firefox做了一些事情,但我可以对这个特定的测试说同样的事情。有什么我想念的吗?
如果我在虚拟应用event.preventDefault
上测试页面按预期工作。
目前的测试是:
describe "In field group editor, user", type: :feature do
let(:user) { User.first }
before(:context) do
@structure = create(:structure)
end
it "should be able to create a checkbox" do
sign_in user
# should be login page
save_and_open_page # and it is
path_to_structure = edit_structure_path( structure_id: @structure.slug )
visit path_to_structure
find "#add-new-setting"
# should be structure page
save_and_open_page # and it is
click_on "add-new-setting" # this should fire an ajax call and preventDefault link behaviour
# should be still structure page
save_and_open_page # instead capybara it's gone to the new setting page
# ...
end
end
答案 0 :(得分:0)
我忘了在初始说明中添加js: true
。
BTW我没有删除这个问题,因为其他人可能会浪费时间寻找解决类似问题而没有意识到解决方案就这么简单了!