Jmeter的几种参数化方式
Posted jiaoyang77
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter的几种参数化方式相关的知识,希望对你有一定的参考价值。
转自https://blog.csdn.net/u010895119/article/details/73131034
- 用户参数
设置方式:添加→前置处理器→用户参数,设置如下:
说明:search_keywords是参数名称,用户_1/用户_2/用户_3是参数的3个值。仅对于多线程时,每个线程会取其中一个值,若线程超过3个,则会重复取这3个值中的一个。若设置为1个线程,则此参数化方法无效。
- 用户定义的变量
设置方式:添加→配置元件→用户定义的变量,设置如下:
- csv data set config
设置方式:添加→配置元件→csv data set config,设置如下:
说明:线程组中,若线程数为1,循环次数设置为3,则会相继取data.txt中的值,发送3次请求
- 随机函数RandomString
设置方式:选项→函数助手对话框→选择函数为:_RandomString,设置如下:
#
说明:第一项为长度,设为2,则会取2个汉字;第二项为可选,建议填上,生成的随机字符串会从这一项中随机选取并组合;第三项可选,可填可不填;最后点击生成,把生成的一堆东西复制粘贴在参数的位置,如下:
这种方式对单线程or多线程没区别
- 数据库查询结果转为变量
首先第一步要导入mysql驱动包
一、设置方式:添加→配置元件→JDBC Connection Configuration
设置链接
Database URL: jdbc:mysql:// 数据库地址 /库名
JDBC Driver class:com.mysql.jdbc.Driver
Username:账号
Password:密码
二、设置方式:添加→Sampler→JDBC Request
Variable Name: 数据库连接池的名字,需要与上面配置的JDBC Connection Configuration中Variable Name Bound Pool的Variable Name相同
Query:填写的sql语句未尾不要加“;”
Parameter valus:参数值
Parameter types:参数类型,可参考:Javadoc for java.sql.Types
Variable names:保存sql语句返回结果的变量名
Result variable name:创建一个对象变量,保存所有返回的结果
Query timeout:查询超时时间
Handle result set:定义如何处理由callable statements语句返回的结果
variables names设置为A,,C,那么如下变量会被设置为:
A_#=2 (总行数)
A_1=第1列, 第1行
A_2=第1列, 第2行
C_#=2 (总行数)
C_1=第3列, 第1行
C_2=第3列, 第2行
- 如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。
- 如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。
- 可以使用${A_#}、${A_1}...来获取相应的值
三、在http请求中加入变量
username_id_N:N为数字,指取第几个数
四:添加察看结果树
以上是关于Jmeter的几种参数化方式的主要内容,如果未能解决你的问题,请参考以下文章
Jmeter 参数化方式提取上个接口的参数函数助手常用的函数(用户定义的变量CSV数据文件设置用户参数JSON提取器正则表达式提取器)