赛普拉斯版本更新后标头授权不起作用
Posted
技术标签:
【中文标题】赛普拉斯版本更新后标头授权不起作用【英文标题】: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。因此,它无法登录。 【参考方案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'
)
)
现在运行良好。
【讨论】:
以上是关于赛普拉斯版本更新后标头授权不起作用的主要内容,如果未能解决你的问题,请参考以下文章