Cypress 异常访问/请求错误排查:如何查看发起的完整请求信息
Cypress请求全量信息排查方法
- 方法1:使用
cy.intercept()拦截并打印全量请求数据
在触发OAuth POST请求前注册拦截规则,匹配目标端点后等待请求完成,即可获取所有请求、响应、重定向相关信息:
// 替换为你的OAuth端点匹配规则 cy.intercept('POST', '/oauth/endpoint').as('oauthPost') // 此处放置你触发POST请求的操作代码 // 等待请求返回后打印全量信息 cy.wait('@oauthPost').then(interceptRes => { // 请求头、请求体、携带的cookie、查询参数都在request字段中 console.log('完整请求数据:', interceptRes.request) // 响应状态码、响应头、响应体在response字段中 console.log('完整响应数据:', interceptRes.response) // 直接查看重定向目标地址 console.log('重定向Location字段:', interceptRes.response?.headers?.location) })
打印的内容可以在测试窗口的浏览器开发者工具Console面板中查看。
- 方法2:开启Cypress网络日志调试模式
在cypress.config.js中添加DEBUG配置,启动测试后终端会输出全链路网络请求日志:
const { defineConfig } = require('cypress') module.exports = defineConfig({ env: { DEBUG: 'cypress:net*' }, // 涉及跨站跳转建议同时关闭Chrome安全策略,避免请求被拦截 chromeWebSecurity: false })
方法3:直接在测试运行器面板查看
运行测试时,点击Cypress左侧命令日志中对应的网络请求条目,右侧会自动展开该请求的完整详情,包括请求头、请求参数、响应头、响应体、完整重定向链等所有信息。方法4:
cy.request发起请求时直接打印跳转历史
如果你是直接用cy.request发起的POST请求,可以在回调中直接获取重定向记录:
cy.request('POST', '/oauth/endpoint', { // 你的请求参数 }).then(res => { console.log('所有重定向历史:', res.redirects) console.log('全量请求响应链路:', res.allRequestResponses) })
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

