在Selenium Capybara Rspec测试中记录用户via via frontend

时间:2012-12-11 10:26:51

标签: selenium rspec capybara

我希望在使用javascript的测试期间以用户身份登录,所以我想我应该有一个帮助方法,用于通过前端登录用户。 但是有了助手

    def log_user_in_via_frontend(user)
        visit root_path
        fill_in 'user_session_login', :with => user.login
        fill_in 'user_session_password', :with => user.password
        click_on('Login')
    end

我可以登录并重定向到正确的页面,只要我不将:js => true放在最后。我通过

打电话给这个帮手
    user = FactoryGirl.create(:user)
    log_user_in_via_frontend(user)

之后访问root_path会产生No route matches {:controller=>\"users\", :action=>\"show\", :id=>#<User id: nil, login: nil ...

在我的硒测试中登录用户的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

实际上到现在为止这对我有用。我不确定究竟是什么,但我认为关键是停用过渡夹具,并让数据库清洁器进行清洁。