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参数化的几种方法

jmeter——变量引用

jmeter参数化

jmeter用户登录参数化

Jmeter操作指南:参数化请求

Jmeter 参数化方式提取上个接口的参数函数助手常用的函数(用户定义的变量CSV数据文件设置用户参数JSON提取器正则表达式提取器)