摘要: PTS(Performance Testing Service)是web化、卓越的SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户的真实业务场景。PTS铂金版的压力发起来源是遍布全国上百个城市和各运营商的CDN节点,相比业界产品启动更快速,来源更广泛,脉冲能力和流量掌控能力更强。
PTS(Performance Testing Service)是web化、卓越的SaaS性能测试平台,具备强大的分布式压测能力,可模拟海量用户的真实业务场景。PTS铂金版的压力发起来源是遍布全国上百个城市和各运营商的CDN节点,相比业界产品启动更快速,来源更广泛,脉冲能力和流量掌控能力更强。PTS铂金版在功能上有强大的可视化编排能力,天然支持参数的传递,有一系列的可扩展指令,用于登陆态的共享、思考时间的模拟、流量集合的构造等等。
近期,PTS铂金版发布了压测API层面的数据工厂功能,用户不再需要自行构造完整的请求体或者请求头并叠加成所有的请求数据,而是基于单个例子,选中进行参数格式化即可,PTS给用户提供了大量可扩展的函数,函数也可以嵌套使用,同时用户依旧可以上传自己的数据文件,结合PTS提供的函数功能进行数据的构造生成。
压测API是目前链路的一个升级,主要是结合了数据工厂的能力,同时名称上也更便于理解。API是一条由用户行为触发的端上请求,以电商中登陆、查询商品详情、提交订单等为例,分别对应用户一次行为中的多个请求API。API是一次场景压测中必不可少的元素,用来定义一个串联链路中每个阶段URL的具体信息。压测API包括以下信息元素:
基本配置:包括API名称、协议类型、超时时间和 请求类型 等基础配置;
API名称:标识该API表示的含义,如获取商品列表数据,要求少于 50 个字;
协议类型:目前支持 HTTP 和 HTTPS;
超时时间:请求发送出去之后该虚拟用户等待应答响应的最长时间,单位为毫秒,默认值 5000,即 5 秒;
请求类型:HTTP 请求的 method,可以选择 POST 或者 GET;
API入参定义(非必填):支持上传文件和占位符两种定义,前者支持csv文件上传一些必要的数据集,比如username和passwd,后者用于在串联链路中与前面的出参关联达到参数传递的目的;
压测URL定义:发送请求的 URL 地址,比如 http://域名/路径 。也可以包含参数的部分,如 http://域名/路径?key1=value1&key2=value2 ,选中value的部分可点击进行参数格式化设置,可将入参(有的话)、系统提供函数进行搭配生成想要的数据;
Body定义(非必填):如果请求类型为POST,可在Body中选中某些value的部分进行参数格式化定义,同上;
Header定义(非必填):定义每条压测请求中的Header信息,可以手工输入也可以进行参数格式化设置;
API出参(断言)定义(非必填):定义出参(可作为链路后续的入参)及断言(业务成功与否)条件,出参支持的形式有Body:JSON、Body:TEXT、Header:K/V 和 Cookie:K/V;
上述配置信息中,“基础配置”及“压测URL定义”是每个API的必填项,其他4项作为满足不同API的选择项。
那么,有了数据工厂之后的一次压测API的配置过程是怎样的,下面进行下简要介绍。登录 PTS 控制台,在控制台左侧菜单栏选择压测API,进入API列表页。单击页面右上角新增压测API按钮,进入新增链路页面。 输入API名称,选择协议及请求类型,确定超时时间:
部分时候,只需要对简单的批量读请求(比如打开 http://www.taobao.com )做压测,仅使用相同的URL做批量请求即可,那么直接在URL定义中填写需要压测的URL即可,POST请求的body部分同理;如果是不同请求参数不同的情况下,可以通过入参定义及参数格式化来实现。
入参定义可以通过上传参数文件及占位符的方式,来定义入参变量。前者是用于上传一些必要的数据,比如请求中需要的用户名、ID等,而后者(占位符)主要是用于占位,然后在场景中设置和其他API的出参关联,实现参数传递的功能。关于文件上传,文件格式必须为csv,且大小不超过60MB。文件中每列代表不同的参数属性,每行为一个请求中多个参数的组合,每格只需填写value即可,也可以只有一列,如果请求中某些参数需要强关联则构造在一个csv文件中并上传,相应的两个入参变量都定义起来。而文件上传之后会自动读取里面的列并展示在下方的入参定义中,您只需要定义入参的变量名即可,不需要的再删除。占位符的入参需要手工增加和定义。
为了适应更多复杂参数场景,参数的格式化可以通过字符串、入参变量、系统函数来组合,还可以继续做一些加工,如MD5、时间戳等。URL/BODY/Header的参数格式化类似,用鼠标选中需要替换的参数value,点击“点击进行参数化”,在弹窗中填写相应信息即可。
这样以来构造不同请求参数的大量的压测API变得非常简单易上手,赶快购买一个铂金版资源包用起来。当然,后续还会继续提升压测流量的构造能力,一大波新功能和新交互即将陆续推出,敬请期待。
阅读更多干货好文,请关注扫描以下二维码:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。