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

使用WebDriverIO SharedStore服务时遇TypeError: Cannot read properties of undefined (reading 'set')

解决WebDriverIO Shared Store Service调用报错的问题

排查方向及修复方案

  • 确认服务配置的层级正确
    要保证services: ['shared-store']是写在wdio.conf.js的顶层配置里,别嵌套在capabilities、specs这类子对象中。正确的配置结构如下:

    exports.config = {
        // 其他配置项
        services: ['shared-store'],
        // 其他配置项
    }
    
  • 必须启用异步模式
    Shared Store Service只支持异步模式,如果你用了同步模式(没写async/await),browser.sharedStore肯定挂载不上。要么在测试代码里用async/await,要么在配置文件里强制关闭同步:

    exports.config = {
        // 其他配置项
        sync: false,
        // 其他配置项
    }
    
  • 重新验证依赖安装
    重新跑一遍安装命令,确保依赖没装坏:

    npm install @wdio/shared-store-service --save-dev
    

    装完后去package.json的devDependencies里看看有没有这个包,尽量保持它和WebDriverIO核心包的版本一致,避免版本不兼容。

  • 确认browser对象正确导入
    如果是模块化测试文件,得确保正确导入WebDriverIO的browser对象:

    // ES模块环境
    import { browser } from '@wdio/globals'
    // CommonJS环境
    const { browser } = require('@wdio/globals')
    

    别用未初始化的browser实例。

  • 检查是否开启多进程模式
    这个服务是给多进程测试场景设计的,要是单进程跑测试,可能不会自动挂载。可以在配置里把maxInstances设成大于1的数,强制开启多进程:

    exports.config = {
        // 其他配置项
        maxInstances: 2,
        // 其他配置项
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:20:56