首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypress 11通过Post发行登录beforeEach

Cypress 11通过Post发行登录beforeEach
EN

Stack Overflow用户
提问于 2022-11-23 23:35:47
回答 1查看 24关注 0票数 2

我在命令文件中编写了一个登录脚本,在每个测试规范文件中作为beforeEach使用。这在Cypress 9中有效,但我最近升级到Cypress 11,现在这个会话不再进行测试。该命令成功运行,但当它进入测试时,我没有登录,所以它失败了。

代码语言:javascript
复制
Cypress.Commands.add("login", () => {
    cy.request({
        method: 'POST',
        url: '/Account/Login', // baseUrl is prepended to url
        form: true, // indicates the body should be form urlencoded and sets Content-Type: application/x-www-form-urlencoded headers
        body: {
            UserName: Cypress.env('username'),
            Password: Cypress.env('password'),
            RememberMe: false,
            FranchiseSelected: 1,
        }
    })
})

截图:

有人知道我错过了什么来更新这个在Cypress 11工作吗?

我已经创建了一个登录命令,它可以登录到页面并登录,但我非常希望POST命令能够工作。

EN

回答 1

Stack Overflow用户

发布于 2022-11-23 23:47:55

我不确定原因,但是尝试用cy.session()包装请求

代码语言:javascript
复制
Cypress.Commands.add("login", () => {
  cy.session('login', () => {
     cy.request({...})
  })
})

会话命令的作用类似于会话令牌的缓存。当您在beforeEach()中调用登录命令时,第一次调用请求,但随后的时间只是从缓存中恢复令牌。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74554066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档