PTS支持将JMeter脚本(JMX)、Postman(JSON)和YAML脚本转换为PTS原生的能力进行压测,提供更强的RPS压测模式,支持实时调速、细致到单接口的监控等。
背景信息
对HTTP或HTTPS协议的压测,PTS支持将JMeter脚本(JMX)、Postman(JSON)和YAML脚本中有关请求的基础信息解析为压测场景中的API。
JMeter脚本与PTS API压测的字段对应关系如下:
Jmeter脚本字段 | PTS-API压测字段 | |
---|---|---|
测试计划Test Plan | 压测场景 | |
线程组Thread Group | 串联链路 | |
采样器Sampler(仅支持HTTP Request) | Name | 压测API名称 |
Server Name or IP Path Port Number | 压测URL | |
Method | 请求方法 | |
Parameters/Body Data | Body定义下的内容 | |
HTTP Header Manager | Headers | Header定义下的Key和Value。全局或者区域生效的Header会填充到对应区域的API中。 |
HTTP Cookie Manager | User-Defined Cookies | Header定义下的Cookie。全局或者区域生效的Cookie会填充到对应区域的API中。 |
Postman脚本与PTS API压测的字段对应关系如下:
Postman脚本字段 | PTS-API压测字段 | |
---|---|---|
info.name | 串联链路名 | |
item[] | 为多个API | |
item[0].name | API名称 | |
item[0].request.method | 请求方法 | |
item[0].request.url.raw | 请求URL | |
item[0].request.header | key | header的key |
value | 对应的value值 | |
item[0].request.body | 请求体- POST类型下,需要看是什么content-type来决定展示形式。 |
说明
- JSON脚本中,可以有多个info.name(串联链路),但info平级的只能是info不可以是item。
- 若从Postman中Collections导出JSON脚本,建议使用V2.1。
- Postman(JSON)脚本仅支持GET、POST、PUT或DELECT方法。
- Postman(JSON)脚本中不支持File模式。
- 暂未支持同时上传及二进制类的Content-Type,无法进行转换。
YAML脚本与PTS API压测的字段对应关系如下:
类型 | YAML脚本字段 | PTS-API压测字段 | |
---|---|---|---|
基本概念 | Relations | 串联链路的集合 | |
Relation | 单个串联链路 | ||
Disabled | 串联链路是否被禁用 | ||
ID | 串联链路ID | ||
Name | 串联链路名称 | ||
Nodes | 节点集合 | ||
Name | 节点名称 | ||
NodeId | 节点ID | ||
NodeType | 节点类型 | ||
Config | 节点配置 | ||
节点类型 | chain | API节点 | |
wait | 思考时间节点 | ||
condition | 条件跳转节点 | ||
dam | 集合点 | ||
dataInit | 数据配置节点 | ||
dataStore | 数据导出节点 | ||
dataDefine | 数据指令节点 | ||
delay | 延时节点 | ||
repeatBegin | 循环指令开始节点 | ||
repeatEnd | 循环指令结束节点 | ||
ifBegin | 判断指令开始节点 | ||
ifEnd | 判断指令结束节点 | ||
节点配置 | chain | accessId | 协议ID |
beginStep | 并发模式时表示串联链路上的起始并发;RPS模式时表示API上的起始RPS。 | ||
checkPoints | 检查点配置
|
||
endStep | 并发模式时表示串联链路上的最大并发;RPS模式时表示API上的最大RPS。 | ||
headers | HTTP header配置
|
||
method | 请求方法,只支持 GET/POST/PUT/DELETE。 | ||
postActions | 后置操作
|
||
body | 请求方法为POST|PUT时,对应的请求body
|
||
preActions | 前置操作,预留字段,暂无用处。 | ||
protocol | 协议类型,默认http | ||
redirectCountLimit | 是否重定向,0表示否,10表示是。 | ||
timeoutInMilliSeconds | 以毫秒为单位的超时时间 | ||
condition | defaultAction | 默认行为
|
|
actions | 叠加条件 | ||
dam | type | 配置类型,BY_TIME|BY_USER 分别表示按时间、按用户集合。 | |
target | 目标量级 | ||
datalnit | definitions | 键值对结构,对应自定义参数。 | |
references | 引用的文件参数
|
||
dataDefine | definitions | 键值对结构 | |
dataStore | dataSize | 数据导出量级 | |
dataConfig | 数据导出配置
|
||
delay | duration | 延时时长,单位为毫秒 | |
ifBegin | ifEndNodeId | 匹配的判断结束指令节点ID | |
operator | 操作符 | ||
param | 表达式 | ||
value | 对比值 | ||
ifEnd | ifBeginNodeId | 匹配的判断开始指令节点ID | |
repeatBegin | repeatEndNodeId | 匹配的循环结束指令节点ID | |
repeatEnd | repeatBeginNodeId | 匹配的循环开始指令节点ID | |
repeatCount | 循环次数 | ||
wait | type | FIXED|NORMAL|UNIFORM分别表示固定分布、均匀分布、正态分布。 | |
base | 对于固定分布代表固定值,对于均匀分布代表延迟基准,对于正态分布代表均值。 | ||
scope | 对于固定分布无意义,对于均匀分布代表可变跨度,对于正态分布代表方差。 |
操作步骤
相关操作
脚本导入成功后,您可以使用PTS提供的高级功能编排压测场景并发起压测,可参考以下文档:
在文档使用中是否遇到以下问题
更多建议
匿名提交