jmeter参数化请求

背景

最近需要做一个压力测试,针对公司服务的一个api进行。
准备了700w的数据,数据是json格式,存在txt文件里,每个txt文件10w数据,总共70个txt文件。

jmeter的参数化有几种方式,这里就介绍其中一种

本次api是http形式,所以只需要把发送的数据放到body中就可以了

测试概览

测试计划如下图

Paste_Image.png

在HTTP请求中,需要配置相关信息,比如需要发送的服务器地址,端口号,以及http方法,是get还是post等等。

最重要的是在body data中,这里就是我们参数化后放置变量的地方。

CSV DATA配置

这里我们引入CSV DATA配置

Paste_Image.png
  • filename:这里需要填写你文件的绝对路径
  1. Variable Names: 这里是你参数化的名字,可以随便起,也就是后面需要填在body data中的名字
  • Delimiter :这里填写你文件中的分隔符,视情况而定,由于我的文件是用换行符分割两条数据的,所以这里填写"\n"
  • Recycle on EOF:遇到文件结束符时,是否从头开始循环读入
  • Stop Thread on EOF: 当Recycle on EOF为False并且Stop Thread on EOF为True,则读完csv文件中的记录后,停止运行

响应断言

当返回值中出现signature:""时,可以认为请求成功,所以就以此作为断言。
如下图添加响应断言

Paste_Image.png

HTTP请求设置

BODY DATA设置中就是放入参数化的请求
由于txt文件有70个,所以当每次发送完一个txt文件中的请求后,需要自动读取下一个文件,获取其中的数据并发送。
这里用到一个函数${_StringFromFile(文件名)}
我的文件命名为data1,data2……data70,函数这样写
${_StringFromFile(/home/file/dfp/data_test/file/data#.txt,,1,70)}
这里"#"用来占位。
1,70表示从第一个读到第70个文件,这里按照需求进行变化。
这里需要注意的是,在body data中,函数后面需要紧跟参数化的名字,不能分在两行写,不然文件无法循环读取。

PS:由于初次学习,压力一直上不去,每次请求的量都很小,还未解决,期待有人分享

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nginx API for Lua Introduction ngx.arg ngx.var.VARIABLE C...
    吃瓜的东阅读 5,935评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现。 参数化:录制脚本中有登录操作,需...
    guiwuzhe阅读 413评论 0 0
  • 1 Jmeter安装配置 使用Jmeter前首先要安装JDK,配置JDK环境变量。Jmeter不需要安装,下载后...
    茶小汐阅读 3,018评论 0 8
  • JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现。 参数化:录制脚本中有登录操作,需...
    宇文臭臭阅读 640评论 0 0