跳到正文
Hacker News· okwasniewski·· 6 天前AI 评分62

TesterArmy 开源端到端测试框架 e2e,用自然语言驱动 Web 与移动端测试

Show HN: E2E – Open-source agentic testing framework for web, iOS and Android

AI 导读

TesterArmy 开源了端到端测试框架 e2e,支持在 Web、iOS 和 Android 应用上用自然语言描述目标,由 agent 驱动应用完成操作,再用 locator 和断言校验结果。

正文 · AI 翻译

e2e, the open source AI testing framework by TesterArmy

Made by TesterArmy npm version License: Apache-2.0 Join the community on Discord

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