webdriverio

一套 API 跑通浏览器和手机自动化测试

WebdriverIO 是一个面向 Node.js 的下一代浏览器与移动端自动化测试框架。它基于 WebDriver 协议并兼容 Chrome DevTools 协议,让开发者用同一套 API 驱动真实浏览器、模拟器或真机执行端到端测试。项目解决的核心问题是:传统 Selenium 绑定繁琐、跨浏览器与移动端配置割裂、测试脚本可维护性差。WebdriverIO 提供简洁的链式异步 API、自动等待与重试机制,内置对 Mocha、Jasmine、Cucumber 等测试框架的支持,并集成断言、mock、覆盖率与性能测试能力。它还能接管 Appium 生态做移动端自动化,支持并行执行与云端设备农场。凭借 TypeScript 类型、丰富的插件体系和活跃社区,它成为前端与 QA 团队构建稳定自动化测试流水线的主流选择之一。

开源 free 自动化工作流
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 9845
维护状态 活跃
是否开源 是
定价模式 free

项目预览

项目数据

分类自动化工作流
开发团队webdriverio
所属国家
定价模式free
价格说明开源免费,MIT 许可证
访问状态
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型automation,cucumber,devtools,jasmine,javascript,mocha,node,performance,performance-test,test,webdriver,webdriverio
GitHub 星标★ 9845
30天Star增速
HF 下载量
上线时间2011-08-30 00:00:00
代码更新—
仓库体积—
本站数据更新—
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-10-08
浏览次数0

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

正在加载星标数据…

技术标签

使用教程

—

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • Node.js 环境(WebdriverIO 是面向 Node.js 的自动化测试框架)
  • 可访问 GitHub 的网络(用于创建 Codespaces 或克隆仓库)
  • Gitpod 账号或 GitHub 账号(README 提供的两种开箱即用环境)

安装与启动步骤

  1. 1了解两种上手方式

    WebdriverIO 面向 Node.js,README 提供 GitHub Codespaces 与 Gitpod 两种开箱即用环境。

  2. 2创建 Codespaces

    在仓库页面点击 Codespaces 按钮,自动打开网页版 VS Code,dev container 已配好所需软件。

  3. 3用 Gitpod 启动

    点击 Gitpod 按钮即可获得可用的开发环境,适合快速开始阅读和修改代码。

  4. 4本地克隆仓库

    如不用云端环境,可先把仓库克隆到本地,再参照官网开发者指南继续操作。

    git clone https://github.com/webdriverio/webdriverio.git
  5. 5选择 Runner 包

    本地跑测试用 @wdio/local-runner,在浏览器中跑单元或组件测试用 @wdio/browser-runner。

  6. 6查阅官方文档

    进入官网的 Developer Guide 与 API Reference,查看安装、配置和 API 用法。

关键配置

配置项必填说明示例
devcontainer.json否Codespaces 开发容器配置,已预装项目所需软件.devcontainer/devcontainer.json

如何确认成功

Codespaces 或 Gitpod 页面成功打开,能看到仓库文件与集成终端,即表示环境就绪。

常见问题

Q:本地没有 Node.js 环境怎么办?

A:可直接使用 README 提供的 GitHub Codespaces 或 Gitpod,浏览器打开即用,无需在本地安装任何软件。

Q:dev container 是什么?

A:它是一种开放规范,被 GitHub Codespaces 以及其他支持容器开发环境的工具所支持,仓库已提供完整配置。

Q:local-runner 和 browser-runner 有什么区别?

A:@wdio/local-runner 用于在本地运行测试;@wdio/browser-runner 用于在浏览器中运行单元测试或组件测试。

Q:想参与贡献从哪里开始?

A:查看仓库中标记为 good first pick 的 issue,也可通过 Matrix 频道(discord.webdriver.io)提问。

注意事项

  • README 节选未给出本地 npm 安装与运行命令,请以官网 Developer Guide 为准。
  • Codespaces 与 Gitpod 均为云端环境,注意用量并及时停止以免产生额外费用。
  • 命令中的仓库地址为官方仓库,如使用 fork 请替换为自己的地址。

核心亮点

  • 统一 API 同时覆盖桌面浏览器与移动端 Appium 自动化,减少多套工具切换成本
  • 内置自动等待、智能选择器和重试机制,显著降低测试脚本的偶发失败率
  • 官方支持 Mocha、Jasmine、Cucumber 及 TypeScript,插件与 reporter 生态丰富

不足之处

  • 依赖底层 WebDriver/Appium 服务,环境搭建与版本匹配对新手有一定门槛
  • 大规模并行测试时对设备农场或自建 Selenium Grid 的资源要求较高

适用场景

  • Web 应用端到端回归测试,覆盖多浏览器与多分辨率
  • 移动 App 在真机或模拟器上的自动化验收测试
  • 接入 CI/CD 流水线,在合并前自动跑通关键业务流程

替代项目

Playwright、Cypress、Puppeteer

项目介绍

webdriverio 是自动化工作流领域的开源项目,由 webdriverio 开发,2011 年首次发布。

在全站 13,916 个收录项目中,它的 GitHub 星标数(9,845)位列前 5%,在自动化工作流分类的 597 个项目里位列前 9%。

项目目前处于活跃维护状态,最近一次代码更新于 2026-10-07。开源免费,MIT 许可证。

它主要面向的使用场景是:Web应用端到端回归测试,覆盖多浏览器与多分辨率。同类可对比的替代方案包括 Playwright、Cypress、Puppeteer。

上一篇:abx-dl

下一篇:BrowserGym

同类项目推荐

n8n 开源

拖拽搭建自动化流程,轻松接入 AI 与 400+ 应用,搞定重复工作。

Fair-code workflow automation platform with native AI capabilities. Combine visual b···

★ 206818 2026-08-10
EasyCLIProxyAPI 开源

图形界面一键配好 AI 代理,省去手写配置文件

A desktop GUI for CLIProxyAPI and a tool for automatically configuring popular AI ag···

★ 2726 2026-09-22
feishu-docx 开源

让 AI 代理轻松读写飞书文档,双向转换 Markdown

Feishu/Lark Docs、Sheet、Bitable <-> Markdown | AI Agent-friendly knowledge base exp···

★ 267 2026-08-09
puppeteer 开源

用 JavaScript 轻松操控无头浏览器,搞定自动化测试与网页抓取。

JavaScript API for Chrome and Firefox

★ 95668 2026-08-10