找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3196

积分

1

好友

441

主题
发表于 6 小时前 | 查看: 2| 回复: 0

想要高效进行 API 测试,又不想被繁琐的配置和复杂工具限制?或许你可以试试 PromptMeter

这款工具通过自然语言提示的方式,让你轻松定义并运行负载测试,不再需要手动配置复杂的测试场景。只需几行简单的命令,它就能帮你完成多种类型的 API 测试,快速上手,告别繁琐。

该工具基于原始项目,我做了改写以支持阿里的 Qwen 模型。具体的下载地址详见文尾。

安装

首先,通过 npm 快速安装 PromptMeter:

npm install -g promptmeter-1.0.1.tgz

快速上手

1. 设置你的 API 密钥:

在运行测试前,你需要设置用于解析自然语言提示的大模型 API 密钥。根据你使用的模型提供商,选择对应的环境变量进行设置。

# 设置 OpenAI API 密钥
export OPENAI_API_KEY=sk-xxx

# 或者设置 Anthropic API 密钥
export ANTHROPIC_API_KEY=sk-ant-xxx

# 或者设置 Alibaba Qwen API 密钥
export QWEN_API_KEY=your-qwen-api-key

2. 运行负载测试:

设置好密钥后,你就可以用一句简单的自然语言指令来发起测试了。

promptmeter “50 个用户在 30 秒内访问 https://api.example.com”

使用方式

该工具的基本命令格式和选项如下:

promptmeter [prompt] [options]

选项:
  -k, --api-key <key>      设置 API 密钥
  -p, --provider <name>    设置提供者(默认 openai),可选 anthropic 或 qwen
  -m, --model <model>      指定模型名称
  -o, --output <file>      将结果导出为 JSON 格式
  --dry-run                仅解析,不执行

保存 API 密钥(可选)

如果你需要频繁使用,为了避免每次都设置环境变量,可以选择将 API 密钥保存到工具的配置中。

promptmeter config --set-key sk-xxx
# 对于 Anthropic
promptmeter config --set-anthropic-key sk-ant-xxx
# 对于 Qwen
promptmeter config --set-qwen-key your-qwen-api-key

示例提示

通过不同的自然语言描述,你可以轻松构建各种复杂的 API 测试 场景。下面是一些常见示例:

# 简单负载测试
promptmeter “100 个用户在 30 秒内向 https://api.example.com/users 发送 GET 请求”

# 条件测试
promptmeter “5 个用户访问 https://google.com。如果全部返回 200,则启动 10 个用户在 30 秒内访问 https://youtube.com”

# 顺序步骤
promptmeter “先用 2 个用户在 5 秒内访问 /health,然后用 50 个用户在 1 分钟内访问 /products”

# 并行测试
promptmeter “同时用 10 个用户分别访问 /api/users 和 /api/products,每个持续 30 秒”

# 带请求体的 POST 请求
promptmeter “使用 20 个用户向 https://api.example.com/login 发送 POST 请求,内容为 {username: 'test', password: 'test'}”

# 使用 Anthropic 模型解析提示
promptmeter -p anthropic “10 个用户在 10 秒内向 https://httpbin.org/get 发送 GET 请求”

# 使用 Qwen 模型解析提示
promptmeter -p qwen “10 个用户在 10 秒内向 https://httpbin.org/get 发送 GET 请求”

# 指定 Qwen 的具体模型
promptmeter -p qwen -m qwen3-coder-plus “10 个用户在 10 秒内向 https://httpbin.org/get 发送 GET 请求”

你将看到的内容

运行测试后,一个实时的终端仪表盘会展示以下关键指标,帮助你直观了解测试状态和结果:

  • 当前步骤和进度
  • 成功/失败计数(包括 4xx、5xx 错误和网络错误)
  • 延迟数据(平均延迟,P95 延迟)
  • 每秒请求数 (RPS)

简单 GET 请求

让我们来看一个实际的例子。执行以下命令:

5 个用户应在 10 秒内向 https://httpbin.org/get 发送请求

命令行中运行 PromptMeter 对 httpbin 进行 GET 请求测试

更高并发

测试一下更高的并发压力:

100 个并发用户在 30 秒内访问 https://httpbin.org/status/200

命令行中运行 PromptMeter 对 httpbin 进行高并发压力测试

带请求体的 POST 请求

模拟带有 JSON 请求体的 POST 操作:

使用 20 个并发用户,在 15 秒内向 https://httpbin.org/post 发送 POST 请求,请求体为 {“username”: “test”, “action”: “login”}

命令行中运行 PromptMeter 对 httpbin 进行带 JSON 请求体的 POST 测试


PromptMeter 为开发者提供了一种极其简单却强大的方式来进行 API 负载测试。通过自然语言,你可以快速定义复杂的负载测试场景,省去了传统工具中繁琐的配置步骤。它支持 OpenAI、Anthropic 和阿里 Qwen 等多个强大的语言模型,让高并发的 API 测试变得前所未有的简便,能够帮你节省大量的时间和精力。

如果你对这类提升开发效率的工具和讨论感兴趣,欢迎来 云栈社区软件测试Node.js 板块逛逛,与更多开发者交流心得。

引用链接

[1] 原始项目: https://github.com/onurkanbakirci/prompmeter
[2] 支持阿里Qwen大模型: https://pan.baidu.com/s/1LanBimUo1toGOwP4BWIwYg?pwd=246t




上一篇:基于Emacs与org-mode:集成PlantUML与org-roam打造高效个人笔记系统
下一篇:Agent Swarm回忆录:从二十年前的量化仿真到如今的“大A小镇”构想
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-3 17:38 , Processed in 0.355301 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表