用自然语言描述测试目标,AI Agent 驱动浏览器/移动 App 达成目标并验证结果;无 Agent 步骤的测试无需调用模型,支持 Playwright 引擎。
e2e 是一个用于 Web 和移动端应用的开源端到端测试框架。用自然语言描述一个目标,Agent 就会驱动应用达成该目标。在同一条测试中用定位器和断言检查结果。
// 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)和模型提供商,然后写入配置和一个示例测试。更完整的上手指南参见快速入门文档。
文档地址: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。遥测数据涵盖的字段列表见对应文档。
e2e 目前仍在积极开发中,向 1.0 版本迈进。 minor 版本之间 API 和配置可能还会有变化。
e2e 由 TesterArmy 构建——这是一个 Agent 化测试平台,可以在 Web 和移动端应用上以自然语言测试驱动每一个 Pull Request 或按计划定时执行。