gpt4 book ai didi

cookies - 在 Cypress 中跨测试保留 cookie/localStorage session

转载 作者:行者123 更新时间:2023-12-03 07:30:39 25 4
gpt4 key购买 nike

我想保存/保留/保留由 设置的 cookie 或 localStorage token cy.request() ,这样我就不必使用自定义命令来登录每个测试。这应该适用于像 这样的 token jwt (json web token ) 存储在客户端的 localStorage 中。

最佳答案

要更新此线程,已经有更好的解决方案可用于保存 cookie(@bkucera);但是现在有一种解决方法可以在测试之间保存和恢复本地存储(如果需要)。我最近遇到了这个问题;并发现此解决方案有效。

此解决方案是通过使用辅助命令并在测试中使用它们,

内部 - cypress/support/<some_command>.js

let LOCAL_STORAGE_MEMORY = {};

Cypress.Commands.add("saveLocalStorage", () => {
Object.keys(localStorage).forEach(key => {
LOCAL_STORAGE_MEMORY[key] = localStorage[key];
});
});

Cypress.Commands.add("restoreLocalStorage", () => {
Object.keys(LOCAL_STORAGE_MEMORY).forEach(key => {
localStorage.setItem(key, LOCAL_STORAGE_MEMORY[key]);
});
});

然后在测试中,
beforeEach(() => {
cy.restoreLocalStorage();
});

afterEach(() => {
cy.saveLocalStorage();
});

引用: https://github.com/cypress-io/cypress/issues/461#issuecomment-392070888

关于cookies - 在 Cypress 中跨测试保留 cookie/localStorage session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50471047/

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