用途
该技能用于从命令行运行 WebdriverIO 测试文件。适用场景包括:调试测试、收集关于测试行为的上下文,或验证某项改动是否解决了问题。
主要能力
- 运行 WebdriverIO 测试,主命令为
npx wdio,默认配置文件为wdio.conf.js。 - 支持按 spec 文件运行单个或多个文件,例如
npx wdio --spec=test/specs/home.js,或同时指定多个--spec。 - 支持按 suite 运行,suite 名称在 WebdriverIO 配置文件的
suites属性中定义,例如npx wdio --suite=auth。 - 支持排除文件,例如
npx wdio --exclude=test/specs/home.js,可与--spec或--suite混用。 - 提供多个关键 CLI 选项:
--spec、--suite、--exclude、--logLevel、--bail、--maxInstances、--baseUrl、--repeat。 - 支持通过 Mocha 的
.only和.skip临时隔离单个测试。
使用方式
项目上下文文件
在选择运行命令前,若可用,应读取以下项目缓存文件:
.webdriverio-skills/project-context.md.webdriverio-skills/project-context.json.webdriverio-skills/custom-rules.mdreferences/website-analysis/<target>/website-analysis.md
使用这些文件来优先采用项目认可的脚本、配置、环境标志和服务器目标。使用网站分析参考来优先运行高影响的 route/component 测试。<target> 解析为小写的站点主机(优先使用显式 URL 或项目 baseUrl 主机),回退为 unknown-target。如果文件缺失或过期,先运行 managing-project-customizations。
选择要运行的测试
当项目上下文中发现 package.json 脚本时,优先使用它们(例如 npm run test:e2e、npm run test:wdio:debug),然后再使用原始的 npx wdio。
按 spec 文件:
# 单个文件
npx wdio --spec=test/specs/home.js
# 多个文件
npx wdio --spec=test/specs/home.js --spec=test/specs/register.js
按 suite:
npx wdio --suite=auth
排除文件:
npx wdio --exclude=test/specs/home.js
关键 CLI 选项
| 选项 | 说明 |
|---|---|
--spec |
运行特定 spec 文件或通配符 |
--suite |
运行 wdio.conf.js 中的命名 suite |
--exclude |
从运行中排除 spec 文件 |
--logLevel |
trace、debug、info、warn、error、silent |
--bail |
N 次失败后停止(默认:0 = 全部运行) |
--maxInstances |
并行浏览器实例数(2–10) |
--baseUrl |
覆盖 browser.url() 调用的基础 URL |
--repeat |
重复运行 specs/suites N 次 |
日志级别
调试时使用 --logLevel=trace(最大输出);确认测试通过时使用默认(info)(减少噪音)。
npx wdio --logLevel=trace --spec=test/specs/home.js
Bail
npx wdio --bail=1
Max Instances
npx wdio --maxInstances=3
Base URL
更改用于相对路径的基础服务器(例如 browser.url('./homepage.html'))。
npx wdio --baseUrl=https://example.com/
隔离单个测试(Mocha)
临时编辑测试文件以添加 .only 或 .skip。
仅运行特定测试:
describe.only("Form Fields", function () { ... });
it.only("should submit form", function () { ... });
跳过特定测试:
it.skip("should return -1 unless present", function () { ... });
调试后记得还原 .only/.skip 更改。
适用场景
- 调试 WebdriverIO 测试。
- 收集关于测试行为的上下文。
- 验证某项改动是否解决了问题。
限制
- 测试耗时约 20 秒至 5 分钟,不应将慢测试视为失败。
- 关于收费、价格、平台支持范围等信息,资料中暂未提供。