写过自动化测试的朋友都懂那种痛:前端把按钮的 id 一改,几百条 e2e 用例集体飘红;回归测试排期排到下个季度,QA 同事手动点得手抽筋;想上 AI 工具吧,又担心每一步都烧 token,跑一轮回归比人肉还贵。
今天逛 GitHub,刷到一个刚登上 Trending 日榜的项目——TesterArmy 开源的 e2e,一款面向 Web 和移动应用的端到端测试框架。它的思路相当野:测试里可以直接写一句人话,比如「把工作区升级到 Pro 套餐」,由 AI agent 替你把应用点到位;校验部分依然是传统的 locator 加 expect 断言,硬核、确定、不玄学。
项目简介

e2e 用 TypeScript 编写,Apache-2.0 协议,目前 Star 7,300+ 还在快速上涨。核心玩法一句话:目标用自然语言描述,agent 负责驱动应用走到目标;结果用同一条测试里的 locators 和 assertions 来检查。
最妙的设计藏在执行机制里:凡是后面被断言验证过的 agent 步骤,都会被记录下来,下次运行直接原样回放,不再调用模型——应用没改,就一分钱 token 都不花。至于没有 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.act 那两行是 AI 在干活,下面的 expect 是传统断言。AI 负责探索路径,断言负责把关结果,谁也不糊弄谁。写惯了 Playwright 的朋友看这个 API 应该会心一笑。
Web、移动端双引擎

Web 引擎基于 Playwright,Chromium、Firefox、WebKit 全覆盖;移动引擎支持 iOS 模拟器与 Android 模拟器。官方 examples 里,Vite、Next.js、Expo、SwiftUI、Jetpack Compose、Kotlin Multiplatform、Flutter 七种技术栈各配了一套能跑通的示例工程,开箱即抄。
断言和报告都是正经工程范儿

空着名字直接点 GREET,界面弹出 Enter a name first 的提示——这种边界场景,用 agent 描述加 expect 断言兜住,比纯人肉点测稳得多。接进 CI 还能用官方的 GitHub reporter,测试结果直接贴成 PR 评论,团队不用离开代码评审流程。
怎么用
一行命令起步:
npx e2e init
init 会引导你选引擎(web 还是 mobile)、配模型(订阅、API key、本地模型都行),然后生成配置文件和一个示例测试。
想直接看现成的工程,把仓库克隆下来,examples 目录里七套技术栈随挑:
git clone https://github.com/tester-army/e2e.git
测试写法就是上面那种结构:app.open 打开页面,agent.act 描述目标,expect 断言结果。文档在 e2e.tester.army/docs,而且 npm 包里自带全套文档,node_modules/e2e/docs 可以直接离线翻,coding agent 也能自己读。
效果长啥样

官方 Vite 示例跑起来的样子:输入名字,点 GREET,下面冒出 Hello, Ada!——从打开页面、输入、点击到断言,一条测试跑完整条链路。同样的示例工程在 Compose、Flutter、SwiftUI 里也各有一份,换技术栈不用换写法。
为什么值得用

对个人开发者:不用再为一条 e2e 死磕一堆 selector,把目标描述清楚就行;传统用例和 AI 用例可以混在同一个套件里,渐进式迁移,老测试一行不用改。
对 QA 团队:回归里最机械的「把全流程点一遍」交给 agent,人只盯着断言结果;agent 步骤录制回放之后,日常跑回归几乎零模型开销。
对企业:Apache-2.0 商用无忧;模型自带,自家订阅、API key、本地部署都支持,测试数据不必出内网;官方 GitHub reporter 让结果直接进 PR,研发流程无缝衔接。
提醒一句:它还在冲 1.0 的路上,官方说明 API 和配置在小版本间可能变动,重要项目建议锁定版本再用。
测试这事儿,写的人嫌烦,不写的人心里慌。让 AI 替你点,让断言替你把关,这分工听着就舒服。周末拿自己的小项目跑一圈,说不定从此回归测试再也不用手点了。类似这样的 AI 测试新玩法,云栈社区 上也常有人分享。
项目主页:https://github.com/tester-army/e2e