she*_*onh 11 ruby-on-rails cucumber capybara
如何使用capybara为黄瓜步骤定义的请求设置HTTP_REFERER请求标头?
谷歌搜索,我尝试了以下,没有一个工作:
header 'Referer', 'http://example.com/'
ENV['HTTP_REFERER'] = 'http://example.com/'
get '/', {}, { 'HTTP_REFERER' => 'http://example.com/' }
get '/', nil, { 'HTTP_REFERER' => 'http://example.com/' }
request.env['HTTP_REFERER'] = 'http://example.com/' # raises ArgumentError
visit '/'
Run Code Online (Sandbox Code Playgroud)
我在控制器中打印request.env ['HTTP_REFERER'],以证明它没有通过.如果我使用Web浏览器测试控制器,则会正确打印引用程序.
请注意,使用get参数的3参数实际上确实将HTTP_REFERER放入控制器观察到的请求环境中,但它似乎以我无法弄清楚的方式扰乱了请求; 所有渲染的都是doctype元素.
我正在使用默认的黄瓜驱动程序,Cucumber :: RackTest :: Driver,黄瓜-1.1.3,黄瓜轨道1.2.0和capybara-1.1.2.
she*_*onh 16
由于我使用的是Cucumber :: RackTest :: Driver,在撰写本文时我的解决方案是:
Capybara.current_session.driver.header 'Referer', 'http://example.com'
Run Code Online (Sandbox Code Playgroud)
这个解决方案的灵感来自以下对水豚的未合并拉动请求:
https://github.com/thoughtbot/capybara-webkit/issues/198
| 归档时间: |
|
| 查看次数: |
4012 次 |
| 最近记录: |