AI编写的离线压测工具
1. 参考Postmain,Apifox,Jmeter使用AI全自动编写的离线接口/抓包/录制/UI自动化测试/压力测试/压测报告输出的离线小工具。
2. 技术栈:net10.0, avalonia,freesql,sqllite
1. 项目管理
-
点击左侧
项目。 -
点击新增按钮创建项目。
-
在表格中编辑
名称、描述。 -
项目会作为
接口、录制、压测、UI 测试的根节点。
项目列表会显示接口数、录制脚本数、压测脚本数。
2. 接口管理
点击左侧 接口 进入接口目录。接口树以项目为根节点,目录和接口都在项目下面维护。
常用操作:
-
右键项目或目录,可以新增目录、新增 HTTP 接口、新增 Markdown、导入 Postman。
-
右键接口,可以重命名、复制、移动、删除。
-
接口可拖动到其他目录,也可以通过移动弹窗选择目标目录。
-
树顶部搜索框支持按接口名称模糊查找。
新建 HTTP 接口后,右侧会打开接口页签。配置请求方法、URL、Params、Body、Headers、Cookies、Auth、前置操作、后置操作后,点击保存并输入接口名称。
3. 发送请求
-
打开接口页签。
-
选择请求方法,例如
GET、POST。 -
输入请求地址。
-
配置 Params、Body、Headers、Cookies、Auth。
-
点击发送。
下方响应区显示响应头、响应内容、请求预览、HTTP 状态、耗时和大小。响应内容只临时显示在 UI,不保存到数据库。
4. Body 配置
Body 支持:
-
none -
form-data -
x-www-form-urlencoded -
JSON -
XML -
Text
JSON、XML、Text 支持格式化、自动换行、行号。JSON 支持折叠和复制折叠段原始内容。格式错误时会高亮错误行并显示中文警告。
5. 前置操作
前置操作在请求发送前执行,适合等待指定毫秒数、生成变量、替换参数或处理请求数据。
常用写法:
set("token", "xxx")
variables.userId = "admin"
生成的变量可以在 URL、Params、Headers、Cookies、Body 中通过 {{变量名}} 使用。
6. 后置操作
后置操作在响应返回后执行,包含等待、JS 脚本、断言、提取变量。
断言可检查响应文本、JSON、XML、Header、Cookie、HTTP 状态码、耗时等。提取变量后,后续接口可通过 {{变量名}} 复用。
7. 录制
点击左侧 录制。
录制分为:
-
单次接口录制:类似抓包,记录浏览器操作过程中产生的 HTTP 请求。
-
UI 操作录制:只记录纯 UI 操作,用于后续 UI 自动化回放。
录制完成后,接口记录可以另存为接口或压测接口;UI 操作录制可以另存为 UI 测试。
8. 压测
点击左侧 压测。压测以项目为根节点,下面包含压测场景和压测接口。可以手动新增压测接口,也可以从接口或录制数据中导入。
压测场景右键菜单支持添加组件:
-
定时器:每次请求发送前增加固定等待和随机等待,会按接口所在路径参与压测执行。
-
控制器:用于组织接口和定时器,接口可以放到控制器下面统一管理;支持顺序、随机、百分比、吞吐量执行和控制器内循环次数。
-
共享配置:用于配置当前路径下接口继承的 Header/Cookie。接口自身同名 Header/Cookie 会覆盖共享值。
压测场景支持:
-
并发线程数
-
Ramp-Up 秒数
-
持续时间秒数
-
循环次数,
-1表示按持续时间运行 -
错误后继续
-
保存响应体
-
执行模式:顺序、随机
-
失败数阈值
-
成功率阈值
-
采样显示行数
-
超时秒数
-
思考时间毫秒
-
Keep-Alive
-
跟随重定向
-
CSV 数据源
失败数阈值或成功率阈值触发后会自动停止压测。
CSV / Excel 数据参数化
在线程组的 场景默认值 中可以启用数据源。支持:
-
CSV 文件
-
Excel
.xlsx文件的第一个 Sheet
第一行必须是列名,例如:
userId,password
admin,123456
operator,abcdef
可以点击 选择 打开文件选择窗口,点击 预览 查看前 20 行数据。请求 URL、Params、Headers、Cookies、Body、Auth 和脚本变量中可以使用:
{{userId}}
{{password}}
取数方式:
-
顺序循环:按行顺序取数,取完后从第一行继续。 -
按虚拟用户:每个虚拟用户固定使用一行数据。 -
随机:每次请求随机取一行。
压测组件模板
压测接口提供内置模板和自定义模板。
内置 Header 模板:
-
JSON Header -
Bearer + Trace -
链路追踪 -
缓存/连接
内置断言模板:
-
HTTP 200 -
JSON code=0 -
Body success -
耗时<1000ms -
接口基础校验
内置提取变量模板:
-
JSON data.id -
Token -
Trace Header -
SESSION Cookie -
正则 ID
自定义模板:
-
在 Header、断言或提取变量页签中配置当前内容。
-
输入模板名称。
-
点击
保存模板。 -
后续在下拉框选择模板,点击
应用即可复用。 -
不再需要的模板可点击
删除。
自定义模板保存到 SQLite 数据库,重启软件后仍可使用。
运行报告
启动压测后会自动切到 运行报告 页。
运行报告包含:
-
状态、开始时间、运行时长
-
进度条
-
虚拟用户总数、活跃用户、完成用户
-
总请求、成功率、失败、平均耗时、P50、P90、P95、P99、RPS、响应大小和接收流量
-
控制器统计:命中、跳过、请求数、吞吐等待次数和等待耗时
-
HTTP 状态码分布
-
接口聚合统计
-
请求采样明细
-
趋势图:RPS、P95、错误率、活跃用户
-
HTML 报告中的指标口径说明:成功率、错误率、百分位耗时、RPS、响应大小、接收流量和 SLA 结论
报告支持:
-
只查看失败采样
-
清空当前报告
-
导出正式 HTML 压测报告,并同时生成 CSV 明细
-
自动保存最近 20 次历史报告
-
从历史报告下拉框加载或删除历史记录
CSV 报告导出到:
Data\LoadTestReports
9. 设置
点击左侧 设置,可配置请求地址、全局 Token、全局 Cookie、录制代理、压测默认配置、数据库配置、界面皮肤和界面语言。
设置保存后会写入 SQLite 数据库。
10. 数据保存
系统数据使用 SQLite 保存,主要包括:
-
项目
-
接口树和接口配置
-
录制数据
-
压测场景
-
压测自定义模板
-
压测历史报告
-
系统设置
截图如下:
1. 项目管理

2. 接口管理




3. 录制接口以及录制UI


4. UI测试(自动化)

5. 压测







压测报告:




6. 设置





注:需要软件跟代码的可以私信我。

浙公网安备 33010602011771号