如何在 Cypress 中设置 sessionStorage?

Nor*_*iss 2 session-storage cypress

我需要更改 sessionStorage 中参数之一的值,但我什至不确定这是否可以通过 Cypress 实现。在他们的文档中找不到任何关于此的有用信息。

这是我尝试在 Cypress 上运行但没有成功的 JavaScript 代码:

var data = JSON.parse(sessionStorage.getItem("vuex"))
data.country = "DE"
sessionStorage.setItem("vuex", JSON.stringify(data))
Run Code Online (Sandbox Code Playgroud)

如果我在控制台中执行它,它工作得很好,但我不知道如何让它与赛普拉斯一起工作。

即使我写了一个简单的 JavaScript 代码,比如

console.log(sessionStorage.getItem("vuex"))
Run Code Online (Sandbox Code Playgroud)

它对 Cypress 返回 Null。

有谁知道为什么我的 JavaScript 代码为 null 以及此操作是否可以通过 Cypress 实现?

Nor*_*iss 10

找到了解决方案:

cy.window().then( win => {

    var data = JSON.parse(sessionStorage.getItem("vuex"))
    data.country = "DE"
    sessionStorage.setItem("vuex", JSON.stringify(data))

})
Run Code Online (Sandbox Code Playgroud)