ESC
开源 1 分钟阅读

e2e:面向 Web 与移动应用的下一代端到端测试框架

TesterArmy 开源 AI 端到端测试框架 e2e:用自然语言描述目标,agent 自动驱动 Web 与移动应用完成测试,并用 locator 与断言验证结果。agent 步骤会记录操作并在下次运行时回放,无需重复调用模型;不含 agent 步骤的测试无需模型。基于 Playwright 支持 Chromium、Firefox、WebKit 及 iOS/Android。

来源:GitHub日榜

e2e,TesterArmy 出品的开源 AI 测试框架

由 TesterArmy 打造 npm 版本 许可证:Apache-2.0 加入 Discord 社区

GitHub 当日趋势仓库

e2e

e2e 是一个面向 Web 和移动应用的端到端(e2e)测试框架。用自然语言描述一个目标,agent 会驱动应用达成它,并在同一个测试中用 locator 和断言检查结果。

// 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 步骤会记录其操作,下一次运行时无需调用模型即可回放这些操作,直到应用发生变化。不含 agent 步骤的测试无需任何模型。可自带订阅、API key 或本地模型。

快速开始

npx e2e init

init 会询问引擎(web 或 mobile)以及模型提供商,然后生成一份配置和一个示例测试。其余内容请参阅快速入门。

要查看在您的技术栈中已完成的完整配置,请打开 examples/:Vite、Next.js、Expo 和 SwiftUI,每个都是独立项目,且测试套件全部通过。

包

包功能
e2eSDK、运行器和 CLI。
@e2e-dev/web浏览器引擎:通过 Playwright 支持 Chromium、Firefox 和 WebKit。
@e2e-dev/mobileiOS 和 Android 引擎:通过 agent-device 支持模拟器和仿真器。
@e2e-dev/github将结果以 pull request 评论形式发布的报告器。
@e2e-dev/kernel为 web 引擎提供 Kernel 托管浏览器。
@e2e-dev/eas为移动引擎提供 EAS Simulators 托管的 iOS 模拟器和 Android 仿真器。
@e2e-dev/decision用于有界语义操作和断言的决策模型执行器。

文档

e2e.tester.army/docs。e2e 包随附全部文档页面,编码 agent 可以在 node_modules/e2e/docs 中离线阅读。

参与贡献

参见 CONTRIBUTING.md。有问题请前往 Discord。

安全

请勿为安全漏洞创建公开 issue。请遵循 SECURITY.md 并报告至 security@tester.army。

遥测

CLI 会发送匿名使用数据,例如运行了哪些命令和引擎、运行在何处失败,但不会包含测试内容、应用内容或凭据。可通过 npx e2e telemetry disable 或 E2E_TELEMETRY_DISABLED=1 关闭遥测。遥测文档列出了所有字段。

状态

[!NOTE] e2e 正处于迈向 1.0 的积极开发阶段。API 和配置在次版本之间仍可能变化。

由 TesterArmy 打造

e2e 由 TesterArmy 构建,这是一个 agentic 测试平台,可在每次 pull request 或按计划对 Web 和移动应用运行自然语言测试。

Apache-2.0。