【问题标题】:Headers authorization not working after Cypress version update赛普拉斯版本更新后标头授权不起作用
【发布时间】:2021-11-06 19:48:06
【问题描述】:

我正在从事一个使用 cypress 的自动化项目。为了让测试用户登录,我正在使用:

Cypress.Commands.add("setAuth", () => {
    cy.intercept('https://url/privat', (req) => {
        req.headers['authorization'] = 'Bearer token'
    })
})

我使用的 Cypress 版本 6.9.1

我正在尝试将我的 Cypress 版本更新为 8.3.1(最新)

cypress更新后,用户无法登录。我不知道如何调试或解决这个问题。

【问题讨论】:

  • 您是否收到任何错误消息?
  • 没有这样的错误。我对后端(graphql)的所有请求都未经授权 - 401。因此,它无法登录。

标签: automation cypress ui-automation


【解决方案1】:

好的,我解决了。在旧版本中,cypress 能够拦截在 https://url/privat 上完成的所有调用,因此它也能够拦截对 graphql 的调用,例如:https://url/privat/graphql

但在新版本中,它不会拦截所有呼叫。现在它需要指定像https://url/privat/**

所以,现在应该是

Cypress.Commands.add("setAuth", () => {
    cy.intercept('https://url/privat/**', (req) => {
        req.headers['authorization'] = 'Bearer token'
    })
})

现在运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 2020-12-23
    相关资源
    最近更新 更多