我想知道是否有一种方法it()可以在一次登录后在下一次登录时保持登录状态it()
举个例子:
it('logs in', () =>{
cy.login('username', 'password');// This calls a custom command
})
it('next step', () =>{
cy.get('div.nextStep').click();
})
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用before()登录,然后beforeEach()捕获 cookie,这样会话就会持续存在,但我想在 an 内登录,it()并且用户在下一个中保持登录状态进行测试it(),这可能吗?
要在 Cypress 12 中执行此操作,请关闭 testIsolation。
当禁用测试隔离时,Cypress 将不会在测试开始之前更改浏览器上下文。该页面在测试和 cookie 之间没有清除,本地存储和会话存储将在该套件中的测试中可用。此外,该
cy.session()命令只会在建立浏览器会话时清除当前浏览器上下文 - 当前页面不会被清除。
赛普拉斯.config.js
const { defineConfig } = require('cypress')
module.exports = defineConfig({
e2e: {
baseUrl: 'http://localhost:1234',
testIsolation: false,
},
})
Run Code Online (Sandbox Code Playgroud)
我已经强调了对 很重要的部分cy.login()。保留登录过程的工件将使第二个测试能够通过。
| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |