使用Capybara和Selenium验证页面的响应代码

时间:2018-12-05 07:08:50

标签: ruby rspec capybara rspec-rails

我正在尝试通过使用水豚来验证页面的响应代码。我将Expect语句用作-

    expect(page.status_code).to eq(404)

我得到的错误是-

    Capybara::NotSupportedByDriverError:
    Capybara::Driver::Base#status_code

可能是Capybara不支持status_code。还有其他方法可以验证状态/响应代码,或者我在Expect语句中做错了事。

1 个答案:

答案 0 :(得分:2)

Selenium驱动程序不支持status_code,因为它不是真正应该在功能/系统测试中测试的东西。功能/系统测试(Capybara的目标)的想法是从用户角度进行测试。由于用户关心浏览器中显示的内容,因此应该测试的内容而不是状态代码。如果您仍然想测试状态码,则应在请求规范中完成,而不是在功能/系统规范中完成