转载

Jmeter 参数动态替换

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
  • 这里写图片描述
  2.3  HTTP请求 这里写图片描述 服务器名称或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.正则表达式提取器
正则表达式填写:
  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
  7.针对HTTP请求添加查看结果树,运行后,查看结果
第三种方式:用户自定义变量
 1.添加HTTP请求,引用 用户自定义的变量 ${searchword} 和${ts}
  2.添加用户自定义变量( 添加-配置原件-自定义变量)
 3. 运行查看结果
 
第四种方式:使用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次 ] 【说明】关于Jmeter的函数使用,可以用Jmeter的函数助手对话框:点击Jmeter的“选项”,选择“函数助手对话框”(或者使用快捷键“Ctrl+F”),在“选择一个功能”的下拉框中选择你所要是有的函数,在函数参数列表的“值”这一栏,填写好相应的参数值,点击按钮【生成】,就可以拷贝生成的函数字符串进行使用了。用函数助手生成函数__Random字符串的截图如下
正文到此结束
Loading...