首页  编辑  

JMeter压测数据变量来自文件,压力测试,并发性能测试

Tags: /计算机文档/软件应用技巧/   Date Created:
推荐下面网页:
jmeter性能测试案例:电商系统并发订单测试 - 小贝书屋 - 博客园 (cnblogs.com)

JMeter压力测试post请求json参数来源文件_wali_hu的博客-CSDN博客
  1. 创建测试计划
  2. 右击左边目录节点,创建线程组
  3. 在线程组右击,线程组下,添加 配置元件,CSV Data Set Config,选择你的CSV文件
  4. 添加 HTTP Request,消息数据体或者其他参数等地方,可以使用  ${name} 其中 name 为CSV中表头的名字
  5. HTTP  Request下添加 HTTP Header Manager
  6. HTTP Request下可以添加响应断言
  7. Thread Group下添加聚合报告、生成概要结果、图形结果、响应时间图等监听器
jmeter性能测试案例:电商系统并发订单测试

场景描述:本案例主要实现多用户同时提交订单,以检测系统对瞬时压力的响应情况。具体流程包括用户登录-添加商品-提交订单。涉及多个接口联动和参数处理,步骤如下:

第一步,登录用户

  1、新建“下订单”线程组(测试计划-线程-线程组),线程数可设置并发数,比如图中30代表30个用户并发执行,ramp-up代表加载30个用户使用时间

  

   2、添加cookie管理器(选中线程组-添加-配置元件-httpcookie管理器)

    3、创建用户登录(选中线程组-添加-取样器-http请求),下图箭头注明了http请求方式,路径里填写request url,基本内填写请求的参数。参数内telphone即用户登录信息,这里采取直接读取csv文件获取用户账号

 

  读取csv文件的方法(选中登录用户--添加-配置元件-CSV 数据文件设置)设置好变量名和文件路径,CSV文件内容右图。然后在请求即“用户登录”telphone参数内填入变量值“${user}”即可

 

  4、登录成功后,需要返回用户鉴权信息给后面的请求使用,分析登陆后的返回值,找到鉴权信息,把这部分内容提取后做成变量

   提取并设置成变量的方法(选中登录用户--添加-后置处理器-正则表达式处理器),根据上图可知,token的内容在jwttoken和logiflag之间,如此,正则表达式可写成"JwtToken":"(.+?)","LoginFlag"

如此,鉴权信息变量化,变量名称“JwtToken”

 

 步骤二:获取商品信息

    1、创建http请求,获取商品列表,且取第一个商品的信息

  2、根据“1”返回结果,把价格和商品id提取出来设置成变量,这里需要注意对请求头的处理,请求头需要带入“登录步骤”获取的鉴权信息,即前文的JwtToken,否则获取列表数据非用户登录后数据,导致后面无效

  

  头信息处理(选中分页获取商品列表 --添加-配置元件-HTTP信息头管理器),信息头包括文本类型,host和鉴权信息

   3、保存直接下单数据到购物车请求,提取“CartInfo”值,这个值是提交订单接口必备的参数之一,后面几个接口都是如此,中间的参数设置已经返回值提取和变量化不再累赘

  4、提取“addId”,客户收地地址信息

  5、获取(计算)运费,提取运费

步骤3:订单请求,步骤2内容基本是给步骤3提交订单准备数据,可以看到,这个请求的参数里有好几个变量,实际就是步骤2里的请求提取的数据

 以上,一个完整的用户-获取商品数据-提交订单流程完成了

步骤4:设置并发环境,比如我们需要30个用户同时提交订单

  1、线程组设置30

 

  2、为了实现30个用户同时提交订单,选中创建订单步骤,设置数量与线程数一致(添加-定时器-Synchronizing Timer)

 

    3、在最后面加上察看结果树、聚合报告、用表格察看结果等结果显示(线程组-添加-监听器),如此,整个jmeter脚本环境就算配置完成

 步骤5:执行,点上面绿色的按钮开始执行

  

步骤6:查看结果

  1、察看结果树的结果

 

  2、聚合报告的结果

   3、用表格察看结果的结果,这个报告可以看出下订单接口所有的用户的请求时间,所有用户的请求时间基本误差在1秒内,如果用户数越大,差异应该越大,这个跟负载机的性能应该有关系