我在命令文件中编写了一个登录脚本,在每个测试规范文件中作为beforeEach使用。这在Cypress 9中有效,但我最近升级到Cypress 11,现在这个会话不再进行测试。该命令成功运行,但当它进入测试时,我没有登录,所以它失败了。
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命令能够工作。
发布于 2022-11-23 23:47:55
我不确定原因,但是尝试用cy.session()包装请求
Cypress.Commands.add("login", () => {
cy.session('login', () => {
cy.request({...})
})
})会话命令的作用类似于会话令牌的缓存。当您在beforeEach()中调用登录命令时,第一次调用请求,但随后的时间只是从缓存中恢复令牌。
https://stackoverflow.com/questions/74554066
复制相似问题