【问题标题】:Cucumber, Capybara, Rails 3, 302 Found Redirect IssueCucumber、Capybara、Rails 3、302 发现重定向问题
【发布时间】:2011-05-06 20:18:35
【问题描述】:

我是 capybara 的新手,但我正在尝试使用它来测试(使用 cucumber)我正在从 rails 2 转换为 rails 3 的应用程序。但是,我在测试登录时遇到了奇怪的行为。我有一个黄瓜登录执行以下操作的步骤:

visit login_path
fill_in 'Email', :with => 'test@example.com'
fill_in 'Password', :with => 'XXXXXXXXX'
click_button 'Log in'

当这个自定义步骤运行黄瓜给我以下错误:

找不到 UserSessionsController 的操作“索引”
AbstractController::ActionNotFound)

日志输出如下:

Started GET "/login" for 127.0.0.1 at Fri May 06 15:48:42 -0400 2011
Processing by UserSessionsController#new as HTML
Redirected to https://www.example.com/login
Completed 302 Found in 1ms

Started GET "/login" for 127.0.0.1 at Fri May 06 15:48:42 -0400 2011
Processing by UserSessionsController#new as HTML
Rendered user_sessions/new.html.erb within layouts/promo (15.8ms)
Completed 200 OK in 38ms (Views: 24.5ms | ActiveRecord: 2.9ms)

Started POST "/user_sessions" for 127.0.0.1 at Fri May 06 15:48:42 -0400 2011
Processing by UserSessionsController#create as HTML
Parameters: {"commit"=>"Log in", "user_session"=>{"password"=>"[FILTERED]", "email"=>"test@example.com"}, "utf8"=>"✓"}
Redirected to https://www.example.com/user_sessions
Completed 302 Found in 1ms

Started GET "/user_sessions" for 127.0.0.1 at Fri May 06 15:48:42 -0400 2011 
SQL (0.6ms)  ROLLBACK

所以这是我的问题:
为什么 /login GET 然后重定向到 /login???
为什么到 /user_sessions 的 POST 也被重定向到自身(这导致我看到的错误)???

在开发过程中一切正常,我看不到 302 状态代码。这可能很简单,但我看不到。

编辑: 提交后 5 分钟,我意识到这是导致重定向的 SSL_requirement 插件。当我注释掉“ssl_required”时,测试通过了。我将不得不对 Capybara 进行更多研究以找出如何配置它,除非有人提出答案。

编辑答案(因为它不会让我在 8 小时内发布一个): 我找到了答案。正如我在编辑中所述,问题是由于 SSL 要求而导致的重定向。可以在此处找到对该问题的非常好的描述:https://github.com/jnicklas/capybara/issues/85。当前的解决方案是一个对我有用的补丁,可以在这里找到:https://gist.github.com/466411

【问题讨论】:

    标签: ruby-on-rails-3 cucumber capybara http-status-code-302


    【解决方案1】:

    我找到了答案。正如我在编辑中所述,问题是由于 SSL 要求而导致的重定向。可以在此处找到对该问题的非常好的描述:https://github.com/jnicklas/capybara/issues/85。当前的解决方案是一个对我有用的补丁,可以在这里找到:https://gist.github.com/466411

    【讨论】:

      猜你喜欢
      • 2021-12-22
      • 1970-01-01
      • 2022-01-05
      • 1970-01-01
      • 2011-11-02
      • 1970-01-01
      • 2014-09-18
      • 2013-01-28
      • 2011-11-18
      相关资源
      最近更新 更多