gpt4 book ai didi

authentication - Cypress 插入已验证的 token

转载 作者:行者123 更新时间:2023-12-02 01:45:34 24 4
gpt4 key购买 nike

我有一个需要 MFA 的应用程序要测试。我正在尝试通过 Cypress 进行 UI 测试,以命中已通过身份验证的应用程序。

我看过一些关于设置新的 Cypress 命令来处理登录的帖子,它将身份验证详细信息发送给第 3 方,获取详细信息并使用类似 cy.setLocalStorage 之类的命令将其放入本地存储中。 .

但是我已经有一个用于 API 测试的外部方法,它可以获取有效的 Bearer token 。这对于应用程序上的 API 调用效果很好。所以我想知道,是否有一个地方可以简单地插入此有效 token 以用于 Cypress 的 UI 测试,或者我是否需要按照下面链接文章中定义的方式构建 cy.login()命令?

编辑:应该补充一点,我们实际上有一个服务主体帐户,用于 API 调用以绕过 MFA。

https://auth0.com/blog/end-to-end-testing-with-cypress-and-auth0/

最佳答案

在没有有关确切登录和您的应用程序的更多信息的情况下,如果您的 API 测试的 token 相同且足以用于登录,那么您可以将其存储在本地或 session 存储中,具体取决于您的应用程序正在查找的位置获取有效 token 。

唯一重要的事情是你在第一个 cy.visit 之前执行此操作命令向您的应用程序显示您已经通过身份验证/登录,例如:

describe('Your Test', () => {
it('Login and page visit', () => {
// or sessionStorage.setItem()
localStorage.setItem('your_token_name', yourToken);
cy.visit('your app url')
})
})

但是,我不确定 MFA 是否需要您可能未涵盖的额外登录步骤。如果有疑问,您还可以考虑为 Cypress 测试中使用的测试用户禁用 MFA。

除此之外,正如您已经写过的,通过请求登录通常是一种好方法,以避免必须测试您无法控制更改的第三方 UI,例如这里的 example for Azure AD Login .

关于authentication - Cypress 插入已验证的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70966212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com