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压测信息。 Import Script Result
  • 可选择的脚本类型有JMeter(JMX)、Postman(JSON)、HTTP Archive Format(.har)、YAML和Swagger脚本(.yml,.json)。一个压测场景仅能导入一个脚本,在未保存场景配置前,可重新上传脚本覆盖之前的导入内容。
  • PTS支持导入的脚本说明及字段含义,请参见 脚本说明 。请勿导入包含PTS不支持的类型或协议的脚本,若导入的脚本不合规,控制台将弹出错误提示框。
  •