TesterArmy 开源端到端测试框架 e2e,用自然语言驱动 Web 与移动端测试
Show HN: E2E – Open-source agentic testing framework for web, iOS and Android
TesterArmy 开源了端到端测试框架 e2e,支持在 Web、iOS 和 Android 应用上用自然语言描述目标,由 agent 驱动应用完成操作,再用 locator 和断言校验结果。
e2e 是一个面向 Web 和移动应用的端到端测试框架。用自然语言描述一个目标,智能体便会驱动应用达成该目标。在同一个测试中用定位器和断言检查结果。
// 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'); });
由后续断言验证的智能体步骤会记录其操作,下一次运行时会在应用发生变化前直接重放这些操作,不调用模型。不含智能体步骤的测试无需模型。可自带订阅、API 密钥或本地模型。
快速开始
npx e2e init
init 会询问引擎(Web 或移动端)和模型提供商,然后写入配置和示例测试。快速开始 涵盖了其余内容。
想查看适用于你技术栈的完整配置,请打开 examples/:Vite、Next.js、Astro、Expo、SwiftUI、Jetpack Compose、Kotlin Multiplatform 和 Flutter,每个都是带有通过测试套件的独立项目。
包
| 包 | 功能 |
|---|---|
e2e |
SDK、运行器和 CLI。 |
@e2e-dev/web |
浏览器引擎:通过 Playwright 支持 Chromium、Firefox 和 WebKit。 |
@e2e-dev/mobile |
iOS 和 Android 引擎:通过 agent-device 支持模拟器和仿真器。 |
@e2e-dev/github |
将结果作为拉取请求评论发布的报告器。 |
@e2e-dev/kernel |
为 Web 引擎提供 Kernel 托管的浏览器。 |
@e2e-dev/limrun |
为移动测试提供 Limrun 托管的 iOS 模拟器和 Android 仿真器。 |
@e2e-dev/eas |
为移动引擎提供 EAS Simulators 托管的 iOS 模拟器和 Android 仿真器。 |
@e2e-dev/smol |
为 Web 引擎提供 smol machines 浏览器:默认情况下,每次尝试都会分支出一个热 Chromium 微虚拟机。 |
@e2e-dev/decision |
用于有界语义操作和断言的决策模型执行器。 |
文档
e2e.tester.army/docs。e2e 包包含所有页面,因此编码智能体可以在 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。API 和配置在次要版本之间仍可能变化。
由 TesterArmy 打造
e2e 由 TesterArmy 构建,这是一个智能体测试平台,可在每次拉取请求或按计划在 Web 和移动应用上运行自然语言测试。
Apache-2.0。
来源:Hacker News · github.com
