reactjs - How to save local storage cypress react
问题描述
Hi sorry for my bad English.
I am making a test in my project using cypress. I have found this problem/issue after
it("call login",() => ...)
The cypress clears my local storage deleting my auth, causing the next request returning my auth as undefined as it was deleted in local storage
How to save the local storage after it calling the above login?
解决方案
您可以使用cypress-localstorage-commands插件localStorage
在测试之间进行保存。
您可以创建一个使用特定用户登录的命令:
import "cypress-localstorage-commands";
Cypress.Commands.add('loginAs', (UserEmail, UserPwd) => {
cy.request({
method: 'POST',
url: "/login",
body: {
user: {
email: UserEmail,
password: UserPwd,
}
}
})
.its('body')
.then((body) => {
cy.setLocalStorage("accessToken", body.accessToken);
cy.setLocalStorage("refreshToken", body.refreshToken);
});
});
然后在所有测试之前使用该命令进行登录,并使用cypress-localstorage-commands 插件来保留localStorage
测试之间的时间:
describe("When user is authenticated", () => {
before(() => {
cy.loginAs("foo@user.com", "foo-password");
});
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
it("should be logged in", () => ...);
});
推荐阅读
- sql - 如何在不聚合的情况下转置行/列?
- python - 来自python服务器的多客户端网络摄像头实时访问和流处理
- python-3.x - 将整个字典存储在 Pandas DataFrame 的一个元素/单元格中?
- javascript - 如何使用组件更改 dom 元素
- javascript - 碎片一次又一次地死去 Discordjs
- python - 保存与数据库实体关联的配置文件 - DB 还是 JSON?
- r - 接收面板比例/布局信息的 Facet labeller 功能
- python - K-Means 按组分类
- angular - Angular:如何管理特定树的 URL
- r - 创建间隔