繁体   English   中英

不显示 TestCafe 中的自定义请求标头

[英]Custom Request Headers within TestCafe are not displayed

我已经尝试了一些不同的事情,并且在没有任何运气的情况下就可能出现的问题提出了不同的建议。 最终,我需要测试应用程序的某些方面,这些方面位于可以使用请求标头访问的功能标志后面。

我可能正在尝试完成此实现无法实现的事情,但我在下面附上了我的代码示例,并在下面附上了生成的日志。 我希望添加的 header 出现在日志 output 中。

代码:


class myRequestHook extends RequestHook {
  constructor () {
    super()
  }

  async onRequest (e) {
    e.requestOptions.headers['test-header'] = 'test-value'
  }

  async onResponse (e) {

  }
}

const customHook = new myRequestHook()
const customLogger = RequestLogger('http://example.com', { logRequestHeaders: true })

fixture ('Request fixture')
  .page('http://example.com/')
  .requestHooks( [ customLogger, customHook ])

test('Request test', async () => {
  console.log(customLogger.requests[0].request.headers)
})

日志:

{
  host: 'example.com',
  connection: 'keep-alive',
  'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"',
  'sec-ch-ua-mobile': '?0',
  'sec-ch-ua-platform': '"macOS"',
  'upgrade-insecure-requests': '1',
  'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36',
  accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
  'sec-fetch-site': 'same-origin',
  'sec-fetch-mode': 'navigate',
  'sec-fetch-dest': 'document',
  'accept-encoding': 'gzip, deflate, br',
  'accept-language': 'en-US,en;q=0.9'
}

TestCafe 的 RequestLogger 仅记录原始请求标头,但不记录修改后的请求标头。 但是,这行代码确实有效。

e.requestOptions.headers['test-header'] = 'test-value'

TestCafe 正确修改请求标头。 如果你想记录修改后的标头,你应该扩展你的RequestHook实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM