PTS支持将JMeter(JMX)、Postman(JSON)、HTTP Archive Format(.har)、YAML和Swagger脚本(.yml,.json)转换为PTS原生的能力进行压测,提供RPS压测模式,支持实时调速、细致到单接口的监控等。
对HTTP或HTTPS协议的压测,PTS支持将JMeter(JMX)、Postman(JSON)、HTTP Archive Format(.har)、YAML和Swagger脚本(.yml,.json)中有关请求的基础信息解析为压测场景中的API。
JMeter脚本与PTS API压测的字段对应关系如下:
HTTP Header Manager(HTTP Header管理)
Headers
Header定义下的Key和Value。全局或者区域生效的Header会填充到对应区域的API中。
HTTP Cookie Manager(HTTP Cookie管理)
User-Defined Cookies
Header定义下的Cookie。全局或者区域生效的Cookie会填充到对应区域的API中。
HTTP Header Manager、HTTP Cookie Manager和HTTP Request Default会取所有的并集导入到每个API中。
Cookie相关的设置中,暂不支持导入domain和path。
导入时Content-Type默认都为x-www-form-urlencode,如果需要切换为raw请先复制,否则会清空Body的内容。
对于不支持导入的信息,您可以使用PTS提供的功能实现,例如
检查点(断言)
、
指令
(思考时间、集合点等)、
参数化
等。
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压测的字段对应关系如下:
表 1.
基本概念类型
expectValue:期望值。
operator:操作符;有gt|gte|lt|lte|eq|n_eq|ctn|n_ctn|exist|n_exist|belong|n_belong|regex_match,分别表示:大于|大于等于|小于|小于等于|等于|不等于|包含|不包含|存在|不存在|属于|不属于|正则匹配。
point:检查对象。
type:检查点类型:
BODY_TEXT表示文本响应体。
BODY_JSON表示JSON格式的响应体。
HEADER表示header。
COOKIE表示cookie。
STATUS_CODE表示响应状态码。
EXPORTED_PARAM表示出参。
登录
PTS控制台
,在左侧导航栏选择
。
在
导入场景
页面选择脚本类型,并上传脚本,然后单击
确认
。
导入成功后,在
创建PTS场景
页面,您可以看到脚本内容已转化为对应的API压测信息。
可选择的脚本类型有JMeter(JMX)、Postman(JSON)、HTTP Archive Format(.har)、YAML和Swagger脚本(.yml,.json)。一个压测场景仅能导入一个脚本,在未保存场景配置前,可重新上传脚本覆盖之前的导入内容。
PTS支持导入的脚本说明及字段含义,请参见
脚本说明
。请勿导入包含PTS不支持的类型或协议的脚本,若导入的脚本不合规,控制台将弹出错误提示框。