首页 > 解决方案 > 如何使用 ruby​​ 在浏览器中读取或获取请求有效负载标头

问题描述

我设法编写了一个使用 capybara(Capybara.current_session.driver.browser.manage.all_cookies)从浏览器读取 cookie 的 ruby​​ 脚本。我找不到读取 API 完整请求标头的方法。比如 Method、Content-Type、Accept-language、CSRF 等。

有人可以点亮一些灯吗!

标签: ruby-on-railsrubyseleniumcucumbercapybara

解决方案


tl;博士; 你不应该使用 Capybara 来编写 API 测试

您为这项工作使用了错误的工具。Capybara 旨在从用户的角度测试应用程序。由于用户并不真正关心标题之类的东西(只是它们在浏览器中的影响)Capybara 不提供它们。这也是为什么您必须在驱动程序特定的方法上走这么远才能获取 cookie 的原因——您真的不应该直接访问 Capybara 驱动测试中的那些,而只是测试 cookie 控制的行为发生。


推荐阅读