关于jmeter的几种入参方式记录

1,csv 文件入参方式
只需创建csv文件,将参数名称用逗号隔开,依次在表格的每一列输入参数值即可
关于jmeter的几种入参方式记录_第1张图片
关于jmeter的几种入参方式记录_第2张图片
2,连接数据库查询表数据进行入参(再此之前需要导入数据库连接)jar包
本文以mysql数据库为例。
1、下载jdbc mysql driver:http://download.csdn.net/source/3451945
2、jmeter在测试计划中加载jdbc mysql driver (若直接存放到jmeter的lib目录中,则无需导入,可直接使用)

2.1然后进行jdbc连接
关于jmeter的几种入参方式记录_第3张图片
这样就完成了数据库的连接,接下来就是查询需要的数据,添加JDBC request,进行查询数据库数据,并将查询的数据定义为参数tid

关于jmeter的几种入参方式记录_第4张图片
添加一个debug sampler查看获取的数据情况(注意,连接数据库入参的顺序不能错乱,连接放在线程组最前,JDBC和获取的参数放在需要入参的接口请求前,才能正确入参)
关于jmeter的几种入参方式记录_第5张图片
通过debug可以发现,获得的数据可能会有多个,那么我们就选取我们需要的那个进行入参
关于jmeter的几种入参方式记录_第6张图片
则在需入参的接口处输入"${tid_1}",完成该步骤
在连接jdbc中,注意:如果你发现你只取到了数据库的字段,如下图,可能是因为编码问题,
关于jmeter的几种入参方式记录_第7张图片
解决办法:
在数据库连接的jdbc中加入以下代码,即可解决该问题
useUnicode=true&characterEncoding=UTF-8
关于jmeter的几种入参方式记录_第8张图片

3,前面已经有一篇博客说明了正则入参,可查看(正则表达式入参)
4,函数入参
4,1 例如 {__Random(1,900,pactCode)}"
jmeter中的函数助手可生成许多可利用的参数,列如,—Random,随机取值函数,—counter,递增函数
随机函数直接利用生成 {__Random(1,900,pactCode)},表示获取从1到900的随机取值,若需要加入汉字,直接在参数前加即可,例如"pactCode":“HT合同编号{__Random(1,900,pactCode)}”,这里的pactCode是接口中需要入参的参数名称,不能写错
4,2 {__javaScript(100+${__counter(TRUE,name)},)}
—counter递增函数,与上个函数类似,也可以增加汉字小鳄鱼企业{__counter(TRUE,name)},这个TRUE表示计算单独的函数请求,如果是false,则是计算整个测试计划所有的线程组的请求,有些时候可以用来计算线程组的请求次数,这里不单独说明
4.3,时间函数
${__time(yyyy-MM-dd HH:mm:ss:SSS,time)} :格式化生成时间格式 2019-12-04 11:08:23:635

${__time(,)}:默认该公式精确到毫秒级别, 1575440188988

KaTeX parse error: Expected group after '_' at position 2: {_̲_time(/1000,)}:…{__time(,20191203)} 即可获取对应时间的时间戳

有个缺点就是只能从1开始递增,这让我很烦恼,我需要递增的id可能是从3开始,也可能是100开始,因函数可以在前面加入字符,所以想了一个方法,
在函数前加入数字,让其进行加法计算后,再递增,这里我入参的参数名称是企业的名称,name
“name”:“小鳄鱼企业{__javaScript(100+${__counter(TRUE,name)},)}”
那么我得到的结果则是小鳄鱼企业101,小鳄鱼企业102,。。。。
呀,今天又是美好的一天,后续有学习会继续总结

你可能感兴趣的:(测试总结)