Featured image of post GitHub Trending 榜首:e2e —— 下一代 AI 驱动的端到端测试框架

GitHub Trending 榜首:e2e —— 下一代 AI 驱动的端到端测试框架

tester-army/e2e 是一款基于自然语言描述的端到端测试框架,通过 AI Agent 驱动 Web 和移动应用完成测试目标,支持 Playwright 多浏览器和 iOS/Android 模拟器,今日新增 1,725 stars 登顶 GitHub Trending。

仓库地址: 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. 自然语言驱动测试

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// tests/checkout.e2e.ts
import { test, expect } from 'e2e';

test('a member upgrades to Pro', async ({ app, agent, screen }) => {
  await app.open('/settings/billing');

  await agent.act('upgrade the workspace to the Pro plan');
  await agent.assert('the invoice preview shows a prorated amount');

  await expect(screen.getByRole('status')).toContainText('Pro');
});

测试代码中,agent.act() 和 agent.assert() 接受自然语言指令,AI 会自动理解并执行相应操作。

2. 智能回放机制

Agent 步骤一旦被后续断言验证通过,其执行动作会被完整记录。下次运行时,框架会直接回放这些已验证的操作,无需再次调用 LLM,大幅降低测试成本和执行时间。只有当应用发生变化时,才会重新触发模型调用。

3. 多平台支持

引擎 支持平台 技术基础
Web Chromium, Firefox, WebKit Playwright
Mobile iOS 模拟器, Android 模拟器 agent-device

4. 灵活的模型接入

支持多种模型提供商,开发者可以:

  • 使用自己的 API Key
  • 接入本地部署的模型
  • 使用订阅服务

纯断言测试(无 Agent 步骤)完全不需要模型调用。


快速开始

1
npx e2e init

init 命令会交互式询问:

  1. 选择引擎:Web 或 Mobile
  2. 选择模型提供商

然后自动生成配置文件和示例测试。

完整快速入门文档: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 会发送匿名使用数据(如运行的命令、引擎类型、失败位置),不包含测试内容、应用内容或凭证。可通过以下方式退出:

1
2
3
npx e2e telemetry disable
# 或
export E2E_TELEMETRY_DISABLED=1

关于 TesterArmy

e2e 由 TesterArmy 构建——一个 Agentic 测试平台,在每次 Pull Request 或按计划运行自然语言测试,覆盖 Web 和移动应用。


许可证

Apache-2.0