跳至内容

magnitudedev / magnitude Public

用于 Web 应用程序的开源、AI 原生测试框架

magnitude.run

License

Apache-2.0 license

663 stars 18 forks Branches Tags Activity

magnitudedev/magnitude

main

BranchesTags

转到文件

代码

文件夹和文件

名称 | 名称 | 最近提交的消息 | 最近提交的日期 ---|---|---|--- .changeset| .changeset assets| assets docs| docs packages| packages .dockerignore| .dockerignore .gitignore| .gitignore .npmrc| .npmrc LICENSE| LICENSE README.md| README.md bun.lock| bun.lock package.json| package.json turbo.json| turbo.json

查看所有文件

最近提交

历史记录

143 次提交

仓库文件导航

Magnitude Logo

Magnitude:用于 Web 应用程序的开源 AI 原生测试框架

Discord Homepage Documentation License Follow @tgrnwld Follow @ndrsrkl

由视觉 AI 代理驱动的端到端测试框架,可以查看您的界面并适应其中的任何更改。

工作原理

Video showing Magnitude tests running in a terminal and agent taking actions in the browser

↕️ Magnitude 测试用例正在运行! ↕️

test('can add and complete todos', { url: 'https://magnitodo.com' })
  .step('create 3 todos')
    .data('Take out the trash, Buy groceries, Build more test cases with Magnitude')
    .check('should see all 3 todos')
  .step('mark each todo complete')
    .check('says 0 items left')

设置

安装 Magnitude

1. 在要测试的 node 项目中安装我们的测试运行器(或者,如果您没有项目来尝试,请参阅我们的演示仓库

npm install --save-dev magnitude-test

2. 通过运行以下命令在您的项目中设置 Magnitude

npx magnitude init

这将创建一个基本的测试目录 tests/magnitude,其中包含:

配置 LLM

Magnitude 需要设置两个 LLM 客户端:

  1. 一个强大的通用多模态 LLM(“planner”
  2. 一个具有像素精度的高速视觉 LLM(“executor”

对于 planner,您可以使用任何多模态 LLM,但我们推荐 Gemini 2.5 pro。 您可以通过 Google AI Studio 或 Vertex AI 使用 Gemini。 如果您没有设置任何一个,您可以在 Google AI Studio 中创建一个 API 密钥(需要付费)并导出到 GOOGLE_API_KEY

如果未找到 GOOGLE_API_KEY,Magnitude 将回退到其他常见提供商(ANTHROPIC_API_KEY / OPENAI_API_KEY)。

要显式选择特定的提供商和模型,请参阅配置文档。 目前,我们支持 Google AI Studio、Google Vertex AI、Anthropic、AWS Bedrock、OpenAI 和与 OpenAI 兼容的提供商。

配置 Moondream

目前,对于 executor 模型,我们仅支持 Moondream,这是一个快速视觉模型,Magnitude 使用它来进行精确的 UI 交互。

要配置 Moondream,请注册并通过 Moondream 在此处 创建一个 API,然后将其添加到您的环境中作为 MOONDREAM_API_KEY。 这将使用云版本,其中包括每天 5,000 个免费请求(大约是 Magnitude 中的几百个测试用例)。 Moondream 也是完全开源且可自托管的。

🚀 设置好 LLM 后,您就可以运行测试了!

运行测试

使用以下命令运行 Magnitude 测试:

npx magnitude

这将运行使用 *.mag.ts 模式发现的所有 Magnitude 测试文件。 如果代理发现您的应用程序存在问题,它会告诉您发生了什么并描述该错误!

要并行运行多个测试,请添加 -w <workers>

构建测试用例

现在您已经设置了 Magnitude,您可以为您的应用程序创建真正的测试用例。 这是一个通用概念的示例:

import { test } from 'magnitude-test';
test('can log in and create company')
  .step('Log in to the app')
    .data({ username: 'test-user@magnitude.run', password: 'test' }) // any key/values
    .check('Can see dashboard') // natural language assertion
  .step('Create a new company')
    .data('Make up the first 2 values and use defaults for the rest')
    .check('Company added successfully');

步骤、检查和数据都是自然语言。 可以把它想象成您向同事描述如何测试特定流程 - 他们需要采取哪些步骤,他们应该检查什么,以及使用什么测试数据。

有关如何构建测试用例的更多信息,请参阅我们的文档

与 CI/CD 集成

您可以在可以运行 Playwright 测试的任何地方在 CI 中运行 Magnitude 测试,只需包含 LLM 客户端凭据。 有关在 GitHub Actions 上运行测试用例的说明,请参见此处

常见问题解答

为什么不用 OpenAI Operator / Claude Computer Use?

我们使用单独的计划/执行模型,以便在快速可靠地执行测试的同时,计划有效的测试。 OpenAI 或 Anthropic 的 Computer Use API 更适合于通用桌面/Web 任务,但缺乏运行测试用例的速度、可靠性和成本效益。 Magnitude 的代理从头开始设计,用于计划和执行测试用例,并提供专为设计和运行这些测试而构建的本机测试运行器。

联系方式

要获得个性化的演示或了解 Magnitude 如何帮助您的公司,请随时通过 founders@magnitude.run 与我们联系。

您也可以加入我们的 Discord 社区 以获得帮助或任何建议!

关于

用于 Web 应用程序的开源 AI 原生测试框架

magnitude.run

主题

testing qa automation framework typescript browser ai test selenium javascipt playwright

资源

Readme

License

Apache-2.0 license

Activity

Custom properties

Stars

663 stars

Watchers

6 watching

Forks

18 forks

发布

没有发布任何版本

软件包 0

没有发布任何软件包

贡献者 2

语言