Jmeter 参数化请求实例

时间:2021-01-09 07:42:11

Jmeter 参数化请求实例

在jmeter中的请求可以参数化,其中参数化的方式有4种: 
1.CSV Data Set Config 
2.数据库 
3.用户自定义变量 
4.用jmeter中的函数获取参数值

第一种方式:CSV Data Set Config

1.创建一个data.txt文件,内容如下: 
101010100,北京 
101010200,海淀 
101010300,朝阳 
请求天气的URL为:GET http://www.weather.com.cn/weather/101010100.shtml

2.创建

2.1  线程组

  • 2.2  添加CSV Data Set Config
  • Jmeter 参数化请求实例

2.3  HTTP请求

Jmeter 参数化请求实例

服务器名称或IP:www.weather.com.cn
协议为: http 方法为:GET 
路径为: /weather/${citycode}.shtml    其中${citycode}是引用CSV Data中citycode

  • 2.4  添加断言 ——断言内容为 ${city} ,是引用CSV Data中city
  • 2.5  添加监控——添加查看结果树和聚合报告
  • 2.6  运行并查看结果
 
  • 第二种方式:数据库

添加:
 1.线程组
 2.JDBC Connection Configuration
 3.JDBC Request 请求 用户id 为2的用户名和性别 命令为:select concat(name,sex) from UserInfo where userid="2";
   其中concat是把name和password连接起来,然后方便正则表达式进行提取 
  • 4.正则表达式提取器
Jmeter 参数化请求实例
 
正则表达式填写:
  1. 注释:随便
  2. Apply to: 默认即可
  3. 要检查的字段:主体等选择,一般选择主体,即服务器返回给jmeter的页面主体信息
  4. 引用名称:定义的参数名称,在后面步骤时可引用
  5. 正则表达式: 正则表达式中()括起来的部分就是要提取的。
  6. 模板:$1$代表只有一组数据,$1$$2$代表有两组数据
  7. 匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
  8. 缺省值:如果参数没有取得到值,那默认给一个值让它取
  5.针对上一级数据库请求返回的结果,添加查看结果树,JDBC Request返回正确后,再新建HTTP请求,引用后置处理器取出的参数 name,引用方式 ${name}
 name     sex
liming female
 
 
  • Jmeter 参数化请求实例
 
  7.针对HTTP请求添加查看结果树,运行后,查看结果
Jmeter 参数化请求实例
 
 
 
第三种方式:用户自定义变量
  
 1.添加HTTP请求,引用 用户自定义的变量 ${searchword} 和${ts}
Jmeter 参数化请求实例     
 
 
 
 
  2.添加用户自定义变量( 添加-配置原件-自定义变量)
 
Jmeter 参数化请求实例
 
 
 
 
 3. 运行查看结果
 
Jmeter 参数化请求实例
 
 
 
 
 
第四种方式:使用Jmeter自带的函数获取参数值
 
Jmeter中可以产生值的函数有:__Random( , , ),__threadNum,__CSVRead( , ),__StringFromFile( , , , )    
各函数调用方法如下:
1)__Random( , , ),获取值的方式:${__Random( param1,param2 ,param3 )},param1为随机数的下限,param2为随机数的上限,param3为存储随机数的变量名,是选填项。所以,也还可以这样调用此函数:_Random(param1,param2,param3),然后再取param3的值。
2)__threadNum,获取值的方式:${__threadNum},这个函数没有任何参数,它用于得到当前运行的线程编号。
3)__CSVRead( , ),获取值的方式:${__CSVRead(param1,param2)},param1是文件名,param2是文件中的列(列数从0开始)。具体操作见csv数据提取部分的说明。
4)__StringFromFile( , , , ),获取值的方式:${__StringFromFile(param1,param2,param3)},param1是文件名,param2、param3为选填项:param2—存储结果的变量,param3—文件开始列,网上找到一点此函数的用法,来自:

1.函数:${_StringFromFile(文件名.dat)}
2.外部文件的格式必须为.dat
3.默认读取位置为/bin下,也可以自己设定文件存放路径,如:${_StringFromFile(e:user.dat)},从e盘下读取user.dat文件中的数据
4.每次读取文件中的一行
5.如果我有多个user文件,想一起读取,文件名分别为user1  user2。函数写为:${_StringFromFile(user#.dat,,1,2)},从默认目录下读取user1和user2的文件
6.如果一个文件想读取多次,可以写成:${_StringFromFile(user.dat,,,2)},user1文件读取2次
]
 
 
转载:http://blog.csdn.net/youxiansanren/article/details/51199863