在实际的性能测试中,登录接口做完性能测试之后,关联的接口做性能测试的时候,需要单独做其它接口性能测试,不需要多次登录的时候,怎么设计性能测试场景呢?
比如:并发执行时间1分钟,并发10个用户,登录次数就是10次,其它接口(获取用户订单列表)会执行1分钟,请求多次
在性能测试工具loadrunner中,可以通过把登录脚本放在init里面,其它接口放到action里面执行多次来做,但是在jmeter里面就会出现跨线程组的问题,可以使用跨线程组来获取token值,下面介绍另外一种方法:通过逻辑控制器来解决
一、性能测试的场景图
二、性能 测试脚本设计步骤
- 接口请求头
- 【登录】接口请求
- 【登录】接口响应断言
- 提取【登录】返回的 token
- 【订单接口】携带token请求服务器
- 【订单接口】响应断言
- 监听器
三、混合场景设计过程:
- 整个脚本结构
- 添加HTTP消息头管理器
这里的接口响应数据格式为:
Content-Type=application/json;charset=utf-8
- 线程组:jp@gc - Stepping Thread Group
- 在该线程组下面创建登录的HTTP请求,以及登录接口返回的token提取
- json方式提取
- 正则表达式提取
- 订单列表接口的token获取
- 响应断言:按自己的喜好,自己选择用哪种方式
判断接口预期返回的值,是不是和实际返回的值一致
- 文本模式的响应断言
- json断言
- 逻辑控制器
逻辑控制器,用于控制脚本执行的逻辑
①、仅一次控制器(once Only Controller):用于控制登录接口,在性能测试过程中,登录接口只运行一次
②、循环控制器(Loop Controller):用于控制多次进行性能测试请求的接口,循环执行N次
按照性能的需求:
- 登录接口只要执行一次,把登录接口放到“仅一次执行”下面,也就是一个并发用户只执行一次,比如:并发用户10,那么登录就执行10次
- 把订单列表接口放到“循环执行”下面
- 监听器:聚合报告
实时查看接口的性能数据
欢迎来到testingpai.com!
注册 关于