黄瓜,硒,红宝石:检查301重定向的最佳做法

时间:2013-12-06 17:17:19

标签: ruby selenium-webdriver cucumber

我需要检查301重定向。 所以我有旧网址应该重定向到新的URL。 验证它的最佳做法是什么?  现在我正在考虑简单的方法:导航到旧URL并检查新URL是否正确并显示相应的页面。我可以检查它是301重定向吗? 我找到了以下文章:http://www.natontesting.com/2010/09/06/announcing-responsalizr-test-http-response-codes-in-ruby/

但重定向后,我看到当前状态代码= 200 任何建议如何捕获301状态代码?

提前谢谢

1 个答案:

答案 0 :(得分:0)

请勿在功能规范中执行此操作。在功能规范(黄瓜)中,您测试站点用户如何看待它,并且用户不关心状态代码是什么。如果你真的关心响应,可以在控制器或更好的请求规范中进行。使用rspec,它看起来像这样:

describe 'redirects' do
  context 'on GET /old_users' do
    before do
      get '/old_users'
    end

    it 'redirects /old_users to /users' do
      expect(response).to redirect_to('/users')
    end

    it 'responds with a 301 - Permanently moved' do
      expect(response.status).to eq(301)
    end
  end
end

https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec