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

WebdriverIO-Cucumber spec数组配置导致测试重复执行求助

WDIO测试重复执行问题的解决办法

问题出在哪

你在wdio.conf.js的specs里写了嵌套数组,而WDIO的specs只认一维数组。嵌套数组会被WDIO当成额外的一组测试任务,所以整个测试跑了两次:

  • 第一次跑login.feature + webhook.feature + fileupload.feature
  • 第二次单独跑嵌套数组里的webhook.feature和fileupload.feature

重复执行会搞乱测试会话的状态,比如重复登录导致页面元素状态异常,自然就会出现元素找不到的报错。

改完就能正常跑的配置

把嵌套的数组展开,改成一维数组就行,这样三个测试文件会在单个会话里按顺序执行:

specs: [
  "./test/specs/features/login/login.feature",
  "./test/specs/features/datalanding/webhook.feature",
  "./test/specs/features/datalanding/fileupload.feature",
],

要是你本来就只想跑后两个测试,直接删掉login.feature的路径:

specs: [
  "./test/specs/features/datalanding/webhook.feature",
  "./test/specs/features/datalanding/fileupload.feature",
],

补充说明

WDIO的specs配置只接受字符串路径组成的一维数组,任何嵌套结构都会被解析成多组测试任务,触发重复执行。改成一维数组后,测试会按你指定的顺序在同一会话里运行,不会再因为状态混乱出现元素查找失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:43:15