天天看点

jmeter学习——jmeter参数化

  • 用户定义的变量
  1. 添加“用户定义的变量”
  2. 设置自定义变量相关属性,此方法适用变量值不发生改变的情况
  3. 将设置的参数名称以${参数名}格式写入:可以在响应断言/HTTP请求的路径/发送数据等处使用
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化
  • 用户参数
  1. 添加“用户参数”
  2. 添加参数信息:“名称”即变量名;“用户”即变量值,可对应多个;“每次迭代更新一次”即依据线程组设置的循环次数每次对变量迭代新的变量值
  3. 将设置的参数名称以${参数名}格式写入:可以在响应断言/HTTP请求的路径/发送数据等处使用
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化
  • CSV Data 提取
  1. 添加“CSV数据文件设置”
  2. 设置相关信息:

    Filename:参数文件名,即参数化要引用的文件名,一般以.csv,.dat等结尾的文件;

    File encoding:文件编码,默认是ANSI;如果有乱码,可输入“utf-8”或“gbk”;

    Variable Names(comma-delimited):变量名,多个变量之间用逗号分割;

    Delimiter(use ‘\t’ for tab):参数文件中多个变量值的分隔符,默认逗号,\t表示用tab键分割;

    Allow quoted data?:双引号相关设置,即如果参数中需要显示“,”/“ " ”等,外层需要双引号显示,且此处修改为“true”。

  3. 参数文件:保存Variable Names对应的变量值

    书写格式:变量值之间以逗号隔开,按行写入变量组;

    可依据线程组设置的循环次数按行读取变量组的值,从而每次对变量迭代新的变量值。

  4. 将设置的参数名称以${参数名}格式写入:可以在响应断言/HTTP请求的路径/发送数据等处使用
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化
  • 函数助手对话框
  1. 选择“函数助手对话框”
  2. 选择需要的功能函数,输入函数参数,最后生成函数字符串

    __time:获取当前时间。第一个参数为时间格式,第二个参数为存放获得当前时间值的参数名;

    __Random:随机数

    __StringFromFile:从本地csv文件中读取记录存入参数,与CSV Data Set Config相比,该函数的强大之处是它可以支持从多个文件中读取数据。第一个参数是文件名(使用绝对路径),第二个参数是存放取得数据的参数列表,第三个和第四个参数分别为数据文件的起始和终止顺序号。

  3. 拷贝函数字符串至响应断言/HTTP请求的路径/发送数据等要使用的地方即可
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化

- 使用上个线程所返回的参数内容,实现跨线程组,参数值传递

  • 方法一:正则提取
  1. 添加“正则表达式提取器”
  2. 设置正则表达式响应属性
  3. 在其他线程需要调用该参数处以${参数名}格式写入即可实现值传递
    jmeter学习——jmeter参数化
    jmeter学习——jmeter参数化
  • 方法二:线程组中添加“BeanShell PostProcessor”,其中使用__setProperty函数与_p函数
  1. 在线程组1中使用__setProperty函数:

    设置jmeter属性值(此值为全局变量值),将所需变量值如${oldtoken} 设置为jmeter属性值,即newtoken。

  2. 在线程组2中使用_p函数获取属性值:

    在参数或者url中直接通过${__P(newtoken,)} 调用jmeter属性,获取属性值。

    jmeter学习——jmeter参数化

继续阅读