1,csv 文件入参方式
只需创建csv文件,将参数名称用逗号隔开,依次在表格的每一列输入参数值即可
如果传入中文,则编码方式需要修改
2,连接数据库查询表数据进行入参(再此之前需要导入数据库连接)jar包
本文以mysql数据库为例。
1、下载jdbc mysql driver:参考这个博主https://blog.youkuaiyun.com/Miss_liangrm/article/details/144404476
2、jmeter在测试计划中加载jdbc mysql driver (若直接存放到jmeter的lib目录中,则无需导入,可直接使用)
2.1然后进行jdbc连接
这样就完成了数据库的连接,接下来就是查询需要的数据,添加JDBC request,进行查询数据库数据,并将查询的数据定义为参数tid
添加一个debug sampler查看获取的数据情况(注意,连接数据库入参的顺序不能错乱,连接放在线程组最前,JDBC和获取的参数放在需要入参的接口请求前,才能正确入参)
通过debug可以发现,获得的数据可能会有多个,那么我们就选取我们需要的那个进行入参
则在需入参的接口处输入"
t
i
d
1
"
,完成该步骤在连接
j
d
b
c
中,注意:如果你发现你只取到了数据库的字段,如下图,可能是因为编码问题,说明:
∗
∗
∗
∗
如果查询
i
d
需要并发,则可以利用计数器,然后拼接入参
{tid_1}",完成该步骤 在连接jdbc中,注意:如果你发现你只取到了数据库的字段,如下图,可能是因为编码问题, 说明:****如果查询id需要并发,则可以利用计数器,然后拼接入参
tid1",完成该步骤在连接jdbc中,注意:如果你发现你只取到了数据库的字段,如下图,可能是因为编码问题,说明:∗∗∗∗如果查询id需要并发,则可以利用计数器,然后拼接入参{_V(tid${__counter(1,10)},)} 相关操作可以百度**
解决办法:
在数据库连接的jdbc中加入以下代码,即可解决该问题
useUnicode=true&characterEncoding=UTF-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+KaTeX parse error: Expected group after '_' at position 2: {_̲_counter(TRUE,n…{__counter(TRUE,name)},)}"
那么我得到的结果则是小鳄鱼企业101,小鳄鱼企业102,。。。。
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)} 即可获取对应时间的时间戳
5,拼接参数,当需要引用多个函数,递增数据库取值时,可以用计数器函数拼接
KaTeX parse error: Expected group after '_' at position 2: {_̲_V(item_id_{__counter(1,10)},)}
呀,今天又是美好的一天,后续有学习会继续总结