zoukankan      html  css  js  c++  java
  • 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次
    ]
     
     
    转载:http://blog.csdn.net/youxiansanren/article/details/51199863 
  • 相关阅读:
    一个主板上连接两个都有引导的盘
    pytorch查看模型weight与grad
    linux终端窗口字体缩放快捷键
    vim选中多行缩进(python多行缩进)与删除多行前面的空格
    python import 包的路径以及相对路径加载的问题
    pycharm中添加PATH变量
    Atom选中多行操作
    php扩展 swoole的安装与使用
    12121212
    linux系统下清理所有Redis缓存
  • 原文地址:https://www.cnblogs.com/Gent-Wang/p/7306187.html
Copyright © 2011-2022 走看看