您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
用Jmeter实现对接口的压力测试
 
作者: changyixue
  2581  次浏览      15
 2020-9-9
 
编辑推荐:
本文主要介绍多个真实用户对接口的压力测试,模拟多个或单个用户获取token并应用在其他接口 ,绝对并发、多场景混合并发,最终测试报告生成。
本文来自于CSDN,由火龙果软件Alice编辑推荐。

一、多个真实用户对接口的压力测试

1. 获取多个真实用户的token的两种方法:

1)第一种:让开发帮忙生成多个token(多个用户账户生成的token),导出为csv格式的文件(以下步骤均以该方法为基础)

2)第二种:自己设置多个用户账户和密码,并存储于txt文件中,文件名称叫:login.txt(使用详情见步骤三)

2. 新建线程组,并根据需求设置”线程数“和”时间“

3. 在线程组下创建HTTP Header Manager,并设置信息头中的参数和值

1)该信息头放在了线程组下面,所以是针对该线程组下所有的接口;

2)不是所有的请求都需要设置信息头。若后端需要一些验证信息,比如“app的版本号”,“token”等,需要HTTP Header Manager 来保证发送HTTP请求的正确,否则是不需要的。

3)接口发送请求时,需要获取登录接口返回的token值,用”${token}“引入该变量

4)token变量的值取自步骤1中的csv文件,如何设置,请看步骤4

4. 在线程组下添加CSV数据文件设置

1)从本地添加带有token信息的csv文件、设置文件编码为”UTF-8“

2)变量名称设置为”token“,方便信息头调用

5. 添加http请求

1)设置协议、服务器名称、端口号、方法和路径(用charles等工具抓包即可得到接口信息)

6. 添加查看结果树和汇总报告,运行后查看结果

二、模拟单个用户获取token并应用在其他接口

1. 在登录接口请求下添加"JSON Extractor",设置变量名、接口响应数据中字段名

2. 把步骤1中的变量名应用于其他需要该变量的接口中即可,比如图中的asset_main接口的headers中

3. 用Debug Sampler检查变量的值是否取到,在察看结果树中查看“登录”和“Debug Sampler”中的值

三、模拟多个用户获取token并应用在其他接口

1. 创建login.txt文件,并在CSV Data Set Config中选择该文件所在路径

2. 把登录接口中的用户账户和密码参数化,名称与CSV Data Set Config中保持一致

3. 在其他接口中的应用和步骤二一样,用户账户和密码的调用是按照顺序从上到下,可以在“察看结果树”中查看多个登录接口的请求参数phone_number(对应变量account)和password

四、绝对并发、多场景混合并发

1. 使用Synchronizing Timer(同步定时器)实现绝对并发

1)Number of Simulated Users to Group by(集合点数):集合到对应的用户量才发送请求,设置的值不能大于线程数

2)Timeout in milliseconds(等待超时时间,毫秒):在指定的毫秒时间内没有达到集合点数,将停止等待直接发送请求

3)未使用Synchronizing Timer实现的相对并发(10s运行500个进程),在“用表格察看结果”处察看接口请求开始时间。从图中可以看出,用户在某个时间段内的随机一个时间点去执行,属于相对并发。

4)使用Synchronizing Timer实现的绝对并发(10s运行500个进程),在“用表格察看结果”处查看接口请求开始时间。从图中可以看出,集合到3个用户才发送请求,做到了绝对并发。

2. 多场景混合并发测试:

1)在线程组下面(各个接口上面),添加多个吞吐量控制器(Throughput Controller)

2)设置总线程数为20,“get_current_price_01”接口的线程数占比为30%,“get_current_price_02”接口的线程数占比为70%

3)运行后,查看“View Results Tree”和“汇总报告”。从“View Results Tree”可看出两个接口是混合并发的;从“汇总报告”可看出接口占比的分别为30%和70%

五、测试报告生成

命令:[jmeter.bat路径] -n -t 财富接口.jmx -l financial.csv -e -o financial

 
   
2581 次浏览       15
相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
大数据平台测试
微服务架构下的测试之道
从零开始掌握微服务软件测试
如何进行测试需求分析:从接收需求到用例设计
python_selenium自动化测试框架
最新课程
测试需求分析与测试用例设计
性能测试方法与技术
自动化测试框架设计高级实践
接口自动化测试方法与工具
软件测试方法与实践(贯穿案例)
更多...   
成功案例
某支付企业 单元测试与重构培训
北京 用户体验、可用性测试与评估
某军工研究单位 自动化测试方法、案例与工具
知名消费金融公司 探索性测试与测试分析
北京 航天科工某子公司 软件测试架构师
更多...