You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cypress仅清除localStorage指定键的值而非删除整个键?

Cypress 保留键仅清空 localStorage 指定值的实现方法

Cypress 内置的 cy.clearLocalStorage() 本质是删除指定键,无法仅清空值。要实现保留键、仅清除对应存储值的需求,直接调用浏览器原生 localStorage API 即可,Cypress 支持直接访问页面的 window 对象操作存储。

代码实现方案

写法1:then 链式调用(可读性更高)

it('Confirm users are logged out after 8 hours (clear last login token value without removing the key)', () => {
    cy.wait(2000)
    // 仅清空lastLogin对应的值,保留键本身
    cy.window().then(window => {
        // 第二个参数按需求设为空字符串即可,如需设置为其他空值可自行替换
        window.localStorage.setItem('lastLogin', '')
    })
    // 可选:校验赋值结果是否符合预期
    cy.window().its('localStorage.lastLogin').should('eq', '')
});

写法2:invoke 简写(代码更简洁)

it('Confirm users are logged out after 8 hours (clear last login token value without removing the key)', () => {
    cy.wait(2000)
    cy.window().its('localStorage').invoke('setItem', 'lastLogin', '')
});

注意事项

  • localStorage 仅支持存储字符串类型,如果你设置值为 null / undefined,最终会被自动转为字符串 "null" / "undefined",要实现完全的空值,直接传入空字符串 '' 即可。
  • 如果要清除的是 sessionStorage 的值,把上述代码里的 localStorage 替换为 sessionStorage 即可生效。

内容的提问来源于stack exchange,提问作者LXLabs_Liam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:06:09