仓库地址: github.com/tester-army/e2e
官网: tester.army/e2e
Stars: 6,713 | Forks: 295 | 今日新增: 1,725 stars
语言: TypeScript | 许可证: Apache-2.0 | 作者: TesterArmy
项目简介
e2e 是由 TesterArmy 团队开源的下一代端到端测试框架,专为 Web 和移动应用设计。它的核心理念是:用自然语言描述测试目标,由 AI Agent 驱动应用完成测试。
与传统测试框架需要编写大量选择器和断言不同,e2e 允许开发者用人类语言描述测试意图,框架内置的 AI Agent 会自动操作应用并验证结果。同时,Agent 执行的操作会被记录,下次运行相同测试时直接回放,无需再次调用模型,兼顾了智能化与执行效率。
核心特性
1. 自然语言驱动测试
|
|
测试代码中,agent.act() 和 agent.assert() 接受自然语言指令,AI 会自动理解并执行相应操作。
2. 智能回放机制
Agent 步骤一旦被后续断言验证通过,其执行动作会被完整记录。下次运行时,框架会直接回放这些已验证的操作,无需再次调用 LLM,大幅降低测试成本和执行时间。只有当应用发生变化时,才会重新触发模型调用。
3. 多平台支持
| 引擎 | 支持平台 | 技术基础 |
|---|---|---|
| Web | Chromium, Firefox, WebKit | Playwright |
| Mobile | iOS 模拟器, Android 模拟器 | agent-device |
4. 灵活的模型接入
支持多种模型提供商,开发者可以:
- 使用自己的 API Key
- 接入本地部署的模型
- 使用订阅服务
纯断言测试(无 Agent 步骤)完全不需要模型调用。
快速开始
|
|
init 命令会交互式询问:
- 选择引擎:Web 或 Mobile
- 选择模型提供商
然后自动生成配置文件和示例测试。
完整快速入门文档:e2e.tester.army/docs/quickstart
包体系
| 包名 | 功能 |
|---|---|
e2e |
SDK、测试运行器和 CLI |
@e2e-dev/web |
Web 浏览器引擎(Chromium/Firefox/WebKit) |
@e2e-dev/mobile |
移动端引擎(iOS/Android 模拟器) |
@e2e-dev/github |
PR 评论形式的结果报告器 |
@e2e-dev/kernel |
托管浏览器内核 |
@e2e-dev/eas |
EAS 托管模拟器 |
@e2e-dev/decision |
决策模型执行器(语义动作和断言) |
示例项目
仓库 examples/ 目录包含多个完整的技术栈示例,每个都是独立项目并附带通过的测试套件:
- Vite
- Next.js
- Expo
- SwiftUI
文档与社区
- 完整文档: e2e.tester.army/docs
- 离线文档:
e2e包内置所有文档页面,编码 Agent 可在node_modules/e2e/docs中离线阅读 - 社区: Discord
开发状态
[!NOTE] e2e 正处于积极开发阶段,目标版本 1.0。在 1.0 之前,API 和配置可能在次要版本之间发生变化。
数据收集
CLI 会发送匿名使用数据(如运行的命令、引擎类型、失败位置),不包含测试内容、应用内容或凭证。可通过以下方式退出:
|
|
关于 TesterArmy
e2e 由 TesterArmy 构建——一个 Agentic 测试平台,在每次 Pull Request 或按计划运行自然语言测试,覆盖 Web 和移动应用。
许可证
Apache-2.0