PTS 支持将 JMeter 脚本(.jmx)和 Postman(.json)脚本转换为 PTS 原生的能力进行压测,提供更强的 RPS 压测模式,支持实时调速、细致到单接口的监控等。

背景信息

对 HTTP 或 HTTPS 协议的压测,PTS 支持将 JMeter 脚本(.jmx)和 Postman(.json)脚本中有关请求的基础信息解析为压测场景中的 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 中。
说明
  • HTTP Header Manager、HTTP Cookie Manager 和 HTTP Request Default 导入时会取所有的并集到每个 API 中。
  • Cookie 相关的设置中,暂不支持导入 domain 和 path。
  • 导入时 Content-Type 默认都为 x-www-form-urlencode,如果需要切换为 raw 请先复制,否则会清空 Body 的内容。
  • 对于不支持导入的信息,您可以使用 PTS 提供的功能实现,例如断言指令(思考时间、集合点等)、参数化等。

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 来决定展示形式。
说明
  • 若从 Postman 中 Collections 导出 json 脚本,建议使用 V2.1。
  • Postman(.json)脚本仅支持 GET、POST、PUT 或 DELECT 方法。
  • Postman(.json)脚本中不支持 File 模式。
  • 暂未支持同时上传及二进制类的 Content-Type,无法进行转换。

操作步骤

  1. 登录 PTS 控制台,在概览页单击快速压测,或者在左侧导航栏单击创建压测 > 快速压测
  2. 单击创建压测页面右上角的导入脚本
    Import Script
  3. 导入脚本对话框选择脚本类型,并单击上传图标上传脚本。
    Import Script
    说明
    • 可选择的脚本类型有 JMeter脚本(.jmx)和 Postman(.json)脚本。一个压测场景仅能导入一个脚本,在未保存场景配置前,可重新上传脚本覆盖之前的导入内容。暂不支持在已有场景中导入脚本。
    • PTS 支持导入的脚本说明及字段含义,请参见背景信息。请勿导入包含 PTS 不支持的类型或协议的脚本,若导入的脚本不合规,控制台将弹出错误提示框,例如:Import Error Message
  4. 导入脚本对话框中单击确定
    导入成功后,在创建压测页面,您可以看到脚本内容已转化为对应的 API 压测信息。Import Script Result

后续步骤

脚本导入成功后,您可以使用 PTS 提供的高级功能编排压测场景并发起压测,可参考以下文档: