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

WDIO Appium+Cucumber做Android自动化测试遇模块找不到错误

让我来帮你一步步排查这两个核心问题——Appium启动超时和步骤定义模块找不到的问题,结合你给出的依赖版本和配置,咱们来梳理下可能的解决方向:

1. 解决"Cannot find module 'D:\Workspace\asystent-tests\features\step-definitions'"错误

这个问题大概率是路径解析的歧义导致的,虽然你确认文件存在,但WDIO和Cucumber的路径处理在Windows环境下容易踩坑:

  • 调整路径写法:Windows的反斜杠\在JS字符串里需要转义成\\,或者直接用正斜杠/替代。你当前的'./features/step-definitions'是相对路径,如果你的wdio.conf.js在项目根目录,这个路径是对的,但如果配置文件在子文件夹里,就得改成对应相对路径。
  • 改用绝对路径:最稳妥的方式是用Node.js的path模块生成绝对路径,避免相对路径的歧义。先在配置文件顶部引入:
    const path = require('path')
    
    然后把cucumberOpts.require改成:
    require: path.join(__dirname, './features/step-definitions')
    
  • 检查文件后缀与通配符:Cucumber默认只会加载.js后缀的文件,如果你的步骤定义是其他后缀(比如.ts),或者目录下有子文件夹,记得用通配符加载所有文件:
    require: './features/step-definitions/**/*.js'
    
2. 解决Appium onPrepare钩子超时退出(退出码1)& 会话创建后立即关闭的问题

这个问题可能和第一个错误连锁触发,也可能是Appium版本兼容性或配置问题:

  • 确认版本兼容性:你用的appium@1.7.2、webdriverio@4.10.1都是比较老旧的版本(2018年左右),版本间可能存在兼容性冲突。建议升级Appium到和WDIO 4.x匹配的稳定版本(比如appium@1.8.2),同时检查wdio-appium-service的版本是否适配WDIO 4.x(对应版本应该是^1.0.0)。
  • 避免重复启动Appium:如果你用了wdio-appium-service,服务会自动管理Appium进程,不需要在onPrepare钩子中手动启动Appium。如果手动启动了,会导致进程冲突,进而触发超时退出。确保你的wdio.conf.js中services配置是:
    services: ['appium']
    
  • 检查Desired Capabilities配置:Appium会话创建后立即关闭,通常是因为应用启动失败。仔细核对你的desiredCapabilities:
    • app路径是否正确(绝对路径或相对项目根目录的路径)
    • deviceName是否和连接的设备/emulator名称一致
    • platformVersion是否匹配设备系统版本
  • 调整Appium启动超时参数:在wdio-appium-service的配置中增加超时时间,避免因启动慢导致超时:
    services: [
      ['appium', {
        waitStartTime: 3000,
        commandTimeout: 20000,
        args: {
          sessionOverride: true,
          debugLogSpacing: true
        }
      }]
    ]
    
  • 检查端口占用:Appium默认使用4723端口,用Windows命令netstat -ano | findstr :4723查看是否被其他进程占用,杀掉占用进程后再重新运行测试。
3. 综合排查建议
  • 优先解决模块找不到的问题:如果步骤定义加载失败,WDIO会提前终止流程,可能间接导致Appium会话被关闭,触发onPrepare超时。
  • 清理依赖重新安装:删除node_modules和package-lock.json,执行npm install,确保依赖包完整无损坏。
  • 简化配置逐步验证:先写一个最简单的feature文件和步骤定义,确保基础流程能跑通,再逐步恢复复杂配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:05:45