开源项目

e2e

e2e

用自然语言描述测试目标、由 LLM agent 驱动 web 与移动端应用完成操作的端到端测试框架,同时保留 Playwright 式的 locator 与断言写法。亮点是 agent 步骤首次执行后会被记录,后续运行直接回放、不再调用模型,只有应用发生变更才重新走 agent,兼顾了灵活性与 CI 成本;浏览器侧走 Playwright,移动端支持 iOS/Android 模拟器,模型可自带 API key 或本地模型。Apache-2.0,目前处于 1.0 之前的活跃开发阶段,API 与配置可能变动。

README

e2e,TesterArmy 打造的开源 AI 测试框架

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

e2e

e2e 是一个面向 web 和移动应用的端到端测试框架。用自然语言描述一个目标,agent 会驱动应用去达成它。在同一个测试里,用 locator 和 assertion 校验结果。

// 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');
});

被后续 assertion 校验的 agent 步骤会记录其操作,下次运行时会直接回放这些操作,不再发起任何 model 调用,直到应用发生变化为止。不含 agent 步骤的测试无需 model。你可以自带订阅、API key 或本地 model。

快速开始

npx e2e init

init 会让你选择引擎(web 或 mobile)以及一个 model 提供方,然后写入一份配置和一个示例测试。其余内容见快速上手。

包

包 作用
e2e SDK、runner 和 CLI。
@e2e-dev/web 浏览器引擎:通过 Playwright 驱动 Chromium、Firefox 和 WebKit。
@e2e-dev/mobile iOS 和 Android 引擎:通过 agent-device 使用模拟器和仿真器。
@e2e-dev/github Reporter,把结果以 pull request 评论的形式发布。
@e2e-dev/kernel 为 web 引擎提供 Kernel 托管的浏览器。
@e2e-dev/eas 为 mobile 引擎提供 EAS Simulators 托管的 iOS 模拟器和 Android 仿真器。
@e2e-dev/decision decision-model 执行器,用于有界的语义动作和 assertion。

文档

e2e.tester.army/docs。e2e 包内置了所有页面,因此 coding agent 可以在 node_modules/e2e/docs 中离线阅读。

贡献

参见 CONTRIBUTING.md。如有问题,请到 Discord 提问。

安全

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

遥测

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

状态

[!NOTE] e2e 正在积极开发中,目标版本为 1.0。API 和配置在 minor 版本之间仍可能发生变化。

由 TesterArmy 打造

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

Apache-2.0。

开源项目tester-army2026-10-04原文

相关内容