0

我们的 cypress 套件在每台机器、环境和位置都可以在本地正常工作。我们已将其配置为与 Bitbucket 管道一起使用,但有一个特定步骤由于其进行的 API 调用而始终失败。此 API 调用是针对外部服务进行的,我们在负载中添加参数,这些参数是随请求动态构建的。

我们的怀疑是,当从管道运行它时,其中一些参数没有正确构建(可能与位置、代理等有关),因为我们得到“未经授权”。

所以问题是我们没有办法从管道调试这个 API 调用,它是唯一失败的地方。

那么,您对如何在 Cypress 中一步保存 XHR Payload 有什么建议吗?

  • 将其存储在 mocha 报告中。
  • 通过电子邮件发送。
  • 也许将其添加到日志中。
  • 将其保存为工件。对不起,我只是不知道如何解决这个问题,因为我既不是柏树也不是 bitbucket 管道的专家。

更具体地说,我需要调试这个调用:

在此处输入图像描述

4

1 回答 1

1

据我了解,您的外部 API 调用 URL 是已知的,对吗?如果是这样,我建议出于调试目的路由此调用,然后将其显示在赛普拉斯运行日志中,以便您能够比较请求有效负载:

cy.route({ method: 'POST', url: `/ps/users`}).as('routedRequest');

... 

cy.get('@routedRequest').then((xhr) => {
    cy.log(JSON.stringify(xhr.request))
});
于 2021-01-06T13:47:28.893 回答