有没有办法在赛普拉斯 运行 中保存完整的 XHR 有效负载?
Is there any way to save a full XHR payload in a cypress run?
我们的 cypress 套件在每台机器、环境和位置都在本地正常运行。
我们已将其配置为使用 Bitbucket 管道,但有一个特定步骤始终失败,因为它进行了 API 调用。此 API 调用是对外部服务进行的,我们在负载中添加参数,这些参数是根据请求动态构建的。
我们怀疑这些参数中有一些在 运行 从管道中构建时没有正确构建(可能与位置、代理等相关),因为我们得到“未授权”。
所以问题是我们没有任何方法来调试来自管道的这个 API 调用,它是唯一失败的地方。
那么,对于如何在 Cypress 的一个步骤中保存 XHR Payload,您有什么建议吗?
- 将其存储在 mocha 报告中。
- 通过电子邮件发送。
- 也许将其添加到日志中。
- 将其保存为神器。
抱歉,我只是不知道如何处理这个问题,因为我既不是 cypress 管道也不是 bitbucket 管道方面的专家。
更具体地说,我需要调试这个调用:
据我了解,您的外部 API 调用 URL 是已知的,对吧?如果是这样,我建议出于调试目的路由此调用,然后在 cypress 运行 日志中显示它,这样您就可以比较请求有效负载:
cy.route({ method: 'POST', url: `/ps/users`}).as('routedRequest');
...
cy.get('@routedRequest').then((xhr) => {
cy.log(JSON.stringify(xhr.request))
});
我们的 cypress 套件在每台机器、环境和位置都在本地正常运行。 我们已将其配置为使用 Bitbucket 管道,但有一个特定步骤始终失败,因为它进行了 API 调用。此 API 调用是对外部服务进行的,我们在负载中添加参数,这些参数是根据请求动态构建的。
我们怀疑这些参数中有一些在 运行 从管道中构建时没有正确构建(可能与位置、代理等相关),因为我们得到“未授权”。
所以问题是我们没有任何方法来调试来自管道的这个 API 调用,它是唯一失败的地方。
那么,对于如何在 Cypress 的一个步骤中保存 XHR Payload,您有什么建议吗?
- 将其存储在 mocha 报告中。
- 通过电子邮件发送。
- 也许将其添加到日志中。
- 将其保存为神器。 抱歉,我只是不知道如何处理这个问题,因为我既不是 cypress 管道也不是 bitbucket 管道方面的专家。
更具体地说,我需要调试这个调用:
据我了解,您的外部 API 调用 URL 是已知的,对吧?如果是这样,我建议出于调试目的路由此调用,然后在 cypress 运行 日志中显示它,这样您就可以比较请求有效负载:
cy.route({ method: 'POST', url: `/ps/users`}).as('routedRequest');
...
cy.get('@routedRequest').then((xhr) => {
cy.log(JSON.stringify(xhr.request))
});