我想保存/持久化/保存由cy.request()设置的cookie或localStorage令牌,这样我就不必使用自定义命令登录每个测试.这应该适用于存储在客户端localStorage中的jwt(json web tokens)之类的令牌. 来自赛普
对于持久性cookie:默认情况下,赛普拉斯会在每次测试之前自动清除所有cookie,以防止状态累积.
您可以使用Cypress.Cookies api将特定cookie列入白名单,以便在测试中保留:
// now any cookie with the name 'session_id' will // not be cleared before each test runs Cypress.Cookies.defaults({ whitelist: "session_id" })
对于持久化localStorage:它不是内置于ATM中,但您现在可以手动实现它,因为清除本地存储的方法公开为Cypress.LocalStorage.clear.
您可以备份此方法并根据发送的密钥覆盖它.
const clear = Cypress.LocalStorage.clear Cypress.LocalStorage.clear = function (keys, ls, rs) { // do something with the keys here if (keys) { return clear.apply(this, arguments) } }