Mindket

Tester Army e2e 端到端测试框架

新上架第 2 版 · 更新于
星标13.4k

概览

TesterArmy 的开源测试框架,用于网页和移动应用。你用文字写下目标,由智能体去操作应用。它的技能和 MCP 服务器让 Claude Code、Codex 或 Cursor 来写、运行和修复测试。

Tester Army e2e 端到端测试框架 是一款 GitHub 上的开源项目,属于开发类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • Claude Code:技能、制作方插件市场里的插件,以及 MCP 服务器
  • Codex:技能、同一个插件,以及写在 .codex/config.toml 里的 MCP 服务器
  • Cursor:技能、放在本地插件文件夹里的插件,以及写在 .cursor/mcp.json 里的 MCP 服务器
  • Copilot、Gemini CLI、OpenCode 和 Zed:放在 .agents/skills/ 里的技能,CLI 参考文档说它们会读这个文件夹
先运行
npx e2e init
npx e2e run

平台

Claude Code编程智能体
Codex编程智能体
Cursor代码编辑器
CopilotAI 对话
Gemini CLI编程智能体
OpenCode编程智能体

用在哪里里还有 3 个

关于

它是什么

e2e 是 TesterArmy 做的端到端测试框架,用于网页和移动应用。一个测试里可以写精确的定位器检查,也可以写交给智能体去完成的自然语言目标,或者两者都写。这个条目讲的是它和你的编程智能体打交道的那部分。一个技能教 Claude Code、Codex 或 Cursor 怎么用 e2e。一个 MCP 服务器让智能体在你的应用上开一个实时会话,跟踪页则告诉它一次失败的测试里发生了什么。智能体在运行中的应用里走一遍流程,边走边把每一步写进测试。

  1. 你用平常的话描述一个目标
  2. 智能体操作应用去达成它
  3. 随后由屏幕上的一项检查确认结果
  4. 这次运行记下智能体做了什么
  5. 下次运行直接回放,不调用模型,直到应用有变化

适合谁

做网页或移动应用的开发者,想让编程智能体来写、来修 UI 测试,并在运行中的应用里检查它自己改过的界面。手上有 Playwright、Cypress、Selenium、Detox 或 Maestro 测试套件的 QA 工程师,可以一次迁一小块过来。1.0 版还没发布,README 说 API 和配置在小版本之间仍可能变。

谁在用,怎么用
行业谁在用怎么用例子
网页和 SaaS 团队前端和全栈开发者让智能体在运行中的应用里走一遍流程,同时写出测试一位开发者要一个结账测试,智能体每走一步,那一步就写进文件。
移动应用团队iOS、Android 和 Expo 开发者在 iOS 或 Android 模拟器上跑同样的测试一位 Expo 开发者从 with-expo 示例起步,在 iOS 模拟器上跑整套测试。
QA 和测试工程QA 工程师和测试负责人每次会话迁移现有测试套件的一小块一位 QA 负责人迁移一块 Playwright 测试,旧套件照常运行。
发布和 CI开发者和代码审查者对一个分支做 bug bash,或把运行结果发成拉取请求评论一位开发者要求做一次 bug bash,只留下有复现测试证实的发现。

如果你需要稳定的 1.0 API,或者你在 Windows 上又不打算用 WSL,可以不用它:快速入门说要在 WSL 里运行 e2e。

用在哪里

TesterArmy 的文档给三个编程智能体写了完整步骤,另外指定了一个技能文件夹,还有好几个智能体会读它。

  • Claude Code:技能、制作方插件市场里的插件,以及 MCP 服务器
  • Codex:技能、同一个插件,以及写在 .codex/config.toml 里的 MCP 服务器
  • Cursor:技能、放在本地插件文件夹里的插件,以及写在 .cursor/mcp.json 里的 MCP 服务器
  • Copilot、Gemini CLI、OpenCode 和 Zed:放在 .agents/skills/ 里的技能,CLI 参考文档说它们会读这个文件夹
  • Grok Build:文档说它会读取 Claude Code 的插件文件

测试可以在浏览器里跑(通过 Playwright 驱动 Chromium、Firefox 和 WebKit),也可以在 iOS 模拟器、Android 模拟器和连到你电脑上的手机上跑。

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹,里面按 TesterArmy 的文档列出了每个智能体的步骤。主要途径是在你的应用目录里运行设置向导。

先准备好这些
需要说明
Node.js24.8 或更高版本,用 Node.js 22 的话要 22.22.3 或更高
Windows快速入门说要在 WSL 里运行
浏览器没有时 e2e 会自己下载一个
给智能体步骤用的模型可选:API 密钥、网关、本地模型,ChatGPT、Copilot、OpenCode Console 或 SuperGrok 的登录,或者你的 Claude Code 或 Codex 登录。没有智能体步骤的测试不需要模型
Xcode 或 Android SDK只有移动端测试需要
  1. 运行安装命令。向导会问你用哪个引擎、哪个模型提供方,以及技能和 MCP 配置放在哪里,并在写入任何文件之前列出全部改动。
  2. 启动应用的开发服务器,或者在 e2e.config.ts 里设置它的地址和启动命令。
  3. 运行示例测试。它不调用模型,所以不需要密钥。
  4. 注册 MCP 服务器。向导会询问是否为 Claude Code 写入 .mcp.json、为 Cursor 写入 .cursor/mcp.json。Codex 要手动添加。
  5. 如果你给智能体步骤选的是订阅,就登录一下,比如用 npx e2e login openai。
npx e2e init
npx e2e run

MCP 服务器从项目自己安装的 e2e 运行,所以要先跑向导并完成它的安装。手动添加的话,Claude Code 用下面这行,Codex 则把服务器写进 .codex/config.toml。

claude mcp add --scope project e2e -- npx e2e mcp
[mcp_servers.e2e]
command = "npx"
args = ["e2e", "mcp"]

如何使用

用平常的话跟智能体说。MCP 服务器页面给了下面这些提示词,还说加上“headed”就会显示本地浏览器或模拟器。

Add a Remember me checkbox to the login form. Check it in the app with e2e.
Write a test for checkout while you walk it in the app.
Reproduce issue #123 in the app and record a video.

反复修改时,智能体只跑它正在处理的那个测试,按 test( 开头所在的行号来跑。一次失败的运行会在 .e2e/results/ 下写一个跟踪页,里面有失败的那一行、每一步、断言读到的值、控制台错误和失败的请求。智能体读这个页面,把它涉及的每一行都修好。

示例

你在做一个有登录表单和结账流程的应用,MCP 服务器已经注册好。你输入:

Write a test for checkout while you walk it in the app.

智能体开一个会话,在实时屏幕上一步步操作。每个动作都会回复一行能重复这个动作的测试代码。MCP 页面给出的回复是这个样子:

Tapped #n31.
Test line: await screen.getByRole("button", "Sign in").tap();

智能体把这些行复制进 tests/checkout.e2e.ts。像“加入最便宜的商品”这样的目标,会写成一个 agent.act 步骤,后面跟一个 expect。你拿到的测试文件里,定位器那几行都在实时屏幕上核对过,而且可以按行号重新运行。

新手与专家

新手:端到端测试像人一样使用你的应用:打开页面、输入、点击,再检查显示了什么。手写的话,这类测试就是一串选择器和等待语句。用 e2e,你用文字写下目标,由智能体去完成。文档说界面改了智能体会跟着调整,所以要修的测试更少。屏幕上的检查一旦通过,这次运行就会记下智能体做了什么,之后不调用模型直接回放。先在一个小应用里跑一遍向导。示例测试不需要密钥。

专家:只有后面的某个验证通过了,才会写入录制:定位器匹配器、像 toHaveURL 这样的引擎断言、locator.waitFor() 或 agent.assert。用 textContent() 或 expect.poll 读取一个值不算数。录下的控件对不上时,回放从不瞎猜。它会把这一步剩下的部分交给智能体,由智能体从当前屏幕接着完成,这次运行还可以保存新的录制。只有 agent.act 会回放。文档说 agent.assert、agent.waitFor 和 agent.extract 每次都实时运行。

给测试改名或改写目标,都会让它的录制对不上。技能要求智能体在修测试时保持缓存开启、关掉重试,因为重试会把每个目标都实时跑一遍。测试通过后,它再用 --no-cache 跑一次,确认实时运行的智能体仍能达成每个目标。

除了测试,e2e explore 给智能体一个目标而不是测试文件,然后报告它发现的问题。bug bash 会同时跑好几个这样的探索,一次四个,每个负责一份测试章程(charter)。只有复现测试失败了,智能体才会保留那条发现。每次会话都会消耗模型调用。@e2e-dev/acp 包可以通过 Agent Client Protocol 在 Claude Code 或 Codex 上运行智能体步骤,用的是这个智能体自己的登录,并把它限制在 e2e 的步骤工具里。

注意事项

e2e 大部分在你的电脑上运行,有几条路径会连到外面。

  • 你的权限:测试、配置、引擎和应用命令都以你的操作系统权限运行,没有沙箱。文档说,不可信的拉取请求代码要放到外部沙箱里跑,并且不给任何密钥
  • 使用数据:除非你选择退出,CLI 会把匿名使用数据发给 eu.i.posthog.com 上的 PostHog。文档说其中从不包含测试内容、应用内容或凭据。用 npx e2e telemetry disable、E2E_TELEMETRY_DISABLED=1 或 DO_NOT_TRACK=1 可以关掉它。在 CI 里,只有这两个环境变量能关掉它
  • 其他请求:npx e2e feedback 只在你运行它时才发送报告,技能会让智能体先给你看 dry run 的结果。在终端里运行的 CLI 命令最多每天向 registry.npmjs.org 查询一次有没有新版本
  • 模型提供方:智能体步骤会把你的指令、以无障碍树表示的屏幕和脱敏后的 URL 发给你配置的模型。截图只遮住安全输入框,所以输进普通输入框的密钥会到达提供方。请用测试凭据
  • 其他网站:文档说没有来源白名单,所以智能体可以跟着应用跳到别的网站,并在那里用上某个步骤的密钥
  • 托管选项:Kernel、TestMu AI、BrowserStack、Limrun 和 EAS Simulators 这几个包在服务商那边运行浏览器或设备,所以每个都要该服务的密钥,流量也会发到那里。smol 包在你的电脑上运行虚拟机,它的文档说这些虚拟机能访问你电脑上的任何回环端口
  • 文件:init 会修改 package.json 和 .gitignore,并写入一份配置、一个测试、技能副本和 MCP 配置。缓存的录制会原样保留输入的值(密钥填写除外),所以提交进仓库的录制要像测试代码一样审查
  • 真实网站:bug bash 页面说,不要在别人也在用的已部署网站上改数据
  • 卸载:文档没有给出卸载步骤。Mindket 的说明列出了 init 写入的内容,你可以手动移除
  • 许可证:Apache-2.0。LICENSE 文件没有写版权所有者,NOTICE 文件写的是“Copyright 2026 TesterArmy, Inc.”

README 和文件

README

Tester Army e2e:安装说明

这个工具包里只有安装说明,由 Mindket 编写。e2e 框架、它的技能和插件要从 TesterArmy 的仓库安装,地址是 https://github.com/tester-army/e2e

这些说明不是 TesterArmy 写的,也没有得到它的认可。README 说 e2e 由 TesterArmy 打造,并介绍 TesterArmy 是“the agentic testing platform that runs natural language tests on web and mobile apps, on every pull request or on a schedule.”,意思是:它是一个智能体测试平台,能在每个拉取请求上或按计划,对网页和移动应用运行自然语言测试。文档在 https://e2e.tester.army/docs

许可证:Apache-2.0。LICENSE 文件是标准的 Apache License 2.0 文本,没有填写版权所有者,见 https://github.com/tester-army/e2e/blob/main/LICENSE 。NOTICE 文件写的是“Copyright 2026 TesterArmy, Inc.”,还写明这个产品包含 TesterArmy, Inc. 开发的软件,网址是 https://tester.army 。NOTICE 文件见 https://github.com/tester-army/e2e/blob/main/NOTICE

README 说 e2e 正在积极开发、朝 1.0 推进,API 和配置在小版本之间仍可能变。

会安装什么

  • e2e npm 包,里面有 SDK、运行器和 CLI,会加进项目的 devDependencies。来源见 https://github.com/tester-army/e2e/blob/main/README.md
  • 一个引擎包:浏览器用 @e2e-dev/web(通过 Playwright 驱动 Chromium、Firefox 和 WebKit),iOS 模拟器和 Android 模拟器用 @e2e-dev/mobile(通过 agent-device)。
  • 运行 npx e2e init 时,会写入 CLI 参考文档列出的文件:e2e.config.ts、tests/example.e2e.ts、一个 test:e2e 脚本和 .gitignore 里缺少的条目。按你的选择,还会把智能体技能放进 .agents/skills/e2e/ 和 .claude/skills/e2e/,把 MCP 服务器配置写进 .mcp.json 和 .cursor/mcp.json。来源见 https://e2e.tester.army/docs/reference/cli
  • e2e 技能和它的各个主题参考文档。走插件途径的话,会改为给所有项目加上三个技能:e2e、create-verification-skill 和 migrate-to-e2e。插件既不装 npm 包,也不装 MCP 服务器。来源见 https://e2e.tester.army/docs/coding-agents

事先需要准备

  • Node.js 24.8 或更高版本,用 Node.js 22 的话要 22.22.3 或更高。来源见 https://e2e.tester.army/docs/quickstart 。e2e 在注册表里的条目 https://registry.npmjs.org/e2e/latest 中,engines 字段写的是 ^22.22.3 || >=24.8.0。@e2e-dev/web、@e2e-dev/mobile 和 @e2e-dev/acp 写的也一样。
  • 在 Windows 上,快速入门说要在 WSL 里运行。
  • 浏览器测试需要一个浏览器。快速入门说没有时 e2e 会自己下载。在 CI 里,技能的 setup 主题给出的是 npx @e2e-dev/web install chromium --with-deps。
  • 移动端测试需要装有 iOS 模拟器运行时的 Xcode,或者带模拟器的 Android SDK。npx agent-device doctor 可以检查环境。来源见 https://e2e.tester.army/docs/mobile
  • 智能体步骤需要一个模型:API 密钥、网关、本地服务器、订阅登录,或者你的 Claude Code 或 Codex 登录。文档说没有默认模型。没有智能体步骤的测试不需要模型。见 setup/models-and-logins.md。

主安装命令

在你的应用目录里运行。它会问你用哪个引擎、哪个模型提供方,以及技能和 MCP 配置放在哪里,然后在写入任何文件之前列出全部改动。

npx e2e init

来源见 https://e2e.tester.army/docs/quickstart

各智能体的说明

  • setup/claude-code.md
  • setup/codex.md
  • setup/cursor.md
  • setup/other-agents.md:Copilot、Gemini CLI、OpenCode、Zed 和 Grok Build
  • setup/models-and-logins.md:智能体步骤背后的模型,以及在 Claude Code 或 Codex 上运行步骤
  • setup/mobile.md:iOS 和 Android 目标

更新或卸载

更新的话,CLI 参考文档给出的是:

npx e2e upgrade

它会更新 package.json 里的 e2e 和 @e2e-dev/* 包并安装,再刷新 .agents/skills/e2e 或 .claude/skills/e2e 里的技能副本。来源见 https://e2e.tester.army/docs/reference/cli

README 和文档都没有给出卸载步骤。npx e2e logout 会删掉保存的模型登录。来源见 https://e2e.tester.army/docs/reference/cli

要手动移除,下面这些说明(出自 Mindket,不是 TesterArmy)按 CLI 参考文档列出的 init 写入的文件来做:用你的包管理器移除 e2e 和 @e2e-dev/* 包,删掉 e2e.config.ts、示例测试、test:e2e 脚本、.agents/skills/e2e/ 和 .claude/skills/e2e/、.mcp.json 和 .cursor/mcp.json 里的 e2e 条目,以及 .e2e/ 输出文件夹。登录信息保存在 ~/.config/e2e/oauth.json,遥测设置保存在 ~/.config/e2e/telemetry.json(Windows 上在 %APPDATA%\e2e\)。Claude Code 用它自己的命令移除插件:

claude plugin uninstall e2e@e2e

使用数据

README 说,CLI 会发送匿名使用数据,比如运行了哪些命令和引擎、运行在哪里失败,但不包含测试内容、应用内容或凭据。Telemetry 页面列出了每个字段。下面任意一个都能关掉它。来源见 https://e2e.tester.army/docs/telemetry

npx e2e telemetry disable
export E2E_TELEMETRY_DISABLED=1

DO_NOT_TRACK=1 也可以。想看会发送什么又不真的发送,就在任意命令前加上 E2E_TELEMETRY_DEBUG=1。Telemetry 页面还说,在 CI 里只有环境变量能关掉它。

不走 init 的那条途径 npx skills add tester-army/e2e,运行的是另一个工具:vercel-labs/skills 的 skills CLI。它在 npm 上的条目要求 Node.js 22.20 或更高版本,它的 README 说,除非设置了 DISABLE_TELEMETRY=1 或 DO_NOT_TRACK=1,它会收集匿名使用数据。来源见 https://github.com/vercel-labs/skills

其他对外连接

Security 页面说,一次运行会连接你的模型提供方、被测应用,以及(除非你选择退出)eu.i.posthog.com 上的遥测服务。没有崩溃报告。它的对外连接清单还列出了:每天一次向 npm 注册表查询新版本,e2e login 和 e2e models 对订阅提供方的请求,Playwright 一次性的浏览器下载,以及你开启的每个托管集成。来源见 https://e2e.tester.army/docs/reference/security

来源

文件
README.md  6 KB
setup/claude-code.md  5 KB
setup/codex.md  2 KB
setup/cursor.md  2 KB
setup/mobile.md  2 KB
setup/models-and-logins.md  6 KB
setup/other-agents.md  2 KB

7 个文件,共 27 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

okwasniewskiLaunch HN: TesterArmy (YC P26) – Agents that test web and mobile appsHey HN - we’re Oskar, Szymon, and Piotr, and we’re building TesterArmy (https://tester.army). TesterArmy is an agentic testing platform that runs end-to-end checks before deployment and in production. Instead of wasting hours on manual testing or maintaining static scripts, we let you specify your…132 分 · 69 条回复GitHub Trending JS/TS🚀 Skyrocketing! 🚀 (200+ new stars) 📦 tester-army / e2e ⭐ 13,285 (+237) 🗒 TypeScript Next generation e2e testing framework for web and mobile apps.2 条回复okwasniewskiShow HN: E2E – Open-source agentic testing framework for web, iOS and AndroidHey HN, I’m Oskar, one of the co-founders of TesterArmy. We built an agentic testing framework for web and mobile because traditional testing frameworks can’t keep up with the pace of how we build software today. e2e allows you to mix deterministic and agentic APIs in the same test. You can write…9 分 · 2 条回复mikoto2000memo. 自然言語でテストとアサートをかけるやつって認識で良いですか? [tester-army/e2e: Next generation e2e testing framework for web and mobile apps.](github.com/tester-army/...)1 条回复nvmdbljstmNew E2E agentic test framework from Poland1 分澪ただ、移行Skillの手順書を読むと、印象がかなり変わりました。 最初にやるのは「直訳」です。元のテストの1ステップを1行に、元の確認を一つずつ同じ数だけ移す。モデルの設定すら要らず、全部決定的なテストのまま移せる、と書いてあります。 https://github.com/tester-army/e2e/blob/main/skills/migrate-to-e2e/SKILL.md1 条回复handfuloflightE2E: Next generation E2E testing framework for web and mobile apps1 分澪前半は本当です。e2e本体には、自然文の目標でアプリを操作する agent.act と、画面の状態をAIに判定させる agent.assert があって、いつもの expect と同じテストに並べられます。 AIの出力のように、答えが毎回少しずつ違う画面を確かめたいなら、確かに心強い道具ですね。 https://github.com/tester-army/e2e1 条回复jeffanLaunch HN: Momentic (YC W24) – Agents that catch bugs by using your appHeyo! I'm Jeff, one of the co-founders here. Mira itself is for code review and does no e2e analysis. We actually automate your live web app or mobile app, so we're catching a whole class of issues that are just not possible with static analysis (is the button cut off in the UI? does your AI agent…Tech TrendingGitHub - tester-army/e2e: Next generation e2e testing framework for web and mobile apps. https://github.com/tester-army/e2enegamaxLaunch HN: TesterArmy (YC P26) – Agents that test web and mobile appsWas writing E2E tests ever a problem that needs automation? Also E2E tests need to be updated everytime a new feature is added. TesterArmy sounds great. But config overhead and potential security leaks makes it a no goはてなブックマーク 人気エントリー#🔖テクノロジー GitHub - tester-army/e2e: Next generation e2e testing framework for web and mobile apps. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reloa

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

Speedrun

hubastard · 工具包

用纯 YAML 文件为 Android、iOS 和网页应用运行端到端界面测试,从应用外部驱动。适合想在笔记本和 CI 上快速跑测试的开发者和测试团队。

新上架100

Lexnet

alpindale · 工具包

用一个只有约 984 个权重的小型神经网络,为 C 源代码的每个字符打上语法高亮标签,通过一个小小的 C 程序运行。适合对手工设计的网络好奇的开发者和研究者。

新上架

FLUX.2 Klein LoRA Studio

prithivMLmods · 工具包

在浏览器或你自己的电脑上,用一个 Gradio 应用试用 FLUX.2 Klein 图像模型的一组 LoRA。适合制作或测试 AI 图片的人。

新上架