cypress - 如何在 cy.route 响应回调中访问请求正文?
问题描述
我已经构建了一些可以捕获网络请求并将它们保存到文件中的东西。目前我正在尝试构建第二部分,它应该返回这些捕获的请求,但遇到了一些困难。有时我有多个请求转到单个方法/url 组合,我需要根据请求正文返回不同的响应。下面的示例说明了我面临的问题:
cy.route({
url: 'api.example.com/**',
method: myMethod,
response: routeData => {
// I can set the response here
// But I don't have access to the request body
},
onRequest: xhr => {
// I can access the request body here
// But I am not supposed/able to set the response
},
})
如果我正确理解 API 文档,我应该在response
回调中设置响应。但是,在该回调中,我似乎无法访问可以从中读取请求正文的 XHR 对象。
有没有办法在response
回调中访问请求正文?或者,有没有办法设置onRequest
回调的响应?
更新:刚刚看到这篇文章提到了一个body
可以添加到cy.route
选项对象的属性。我在cypress route 文档中没有看到这一点,所以我不知道这是否是一个有效的选项,我也不知道是否cy.route
使用相同的method
and进行多次调用url
,但不同的调用body
会产生正确的结果. 如果这有任何用处,我希望看到一些基于此文件中某处body
属性的分支逻辑,所以我不抱太大希望。
解决方案
赛普拉斯 v6 附带cy.intercept
API。使用它比使用cy.server
and方便得多cy.route
。
推荐阅读
- c# - Parallel.Foreach 在 Linux 机器上失败,但在 Windows 机器上工作
- ruby-on-rails - 如何使我的助手代码更苗条?
- c - CPU1 上线失败
- python - 使用 beautifullSoup 从隐藏形式中获取多重价值
- javascript - NVD3 内存泄漏问题
- sql-server - MS SQL 2019 中的 UDF 内出现意外的 @@rowcount 行为
- postgresql - PostgreSQL:后台工作人员“逻辑复制启动器”以退出代码 1 退出
- javascript - 如何使用fabricjs从图像和边框图像中实现相框?
- javascript - 时刻 JS 获得一年中第一周的正确周数
- java - 如何在 Activity 类中启用 xml 按钮?