Jmeter参数化

Jmeter在录制脚本时,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的过程中,为了更真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入,这时,在Jmeter中就可以进行参数化设置,以便用多个不同的值提交应用请求,然后达到模拟真实情况的目的。

参数化的数据来源是用户输入的数据。

参数化的方式
1、使用CSV数据文件设置
2、使用jmeter函数助手

一、使用CSV数据文件设置
1、导入参数化的数据
右键,测试计划->添加-> 配置元件-> CSV数据文件设置


文件名:
指保存参数化数据的文件目录(需要手动创建该文件),可以相对或者绝对路径

文件的编码格式:
默认选择utf-8,有时中文乱码可以写gbk

参数名称:
有几列参数,在这里面就写几个参数名称,例如user,pwd,每个名称中间用分隔符分割,分隔符在下面的“定义分隔符”中定义

定义分隔符:
定义某个分隔符,则在“参数名称”用这里定义的分隔符分割参数。

是非选项:
是否允许变量中间有分隔符,这里最好先默认false,数据中间最好不要有分隔符

是否循环读入:
因为CSV 数据文件设置是一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入。

线程共享模式:
当前测试计划中的所有线程都有效,默认。

2、使用参数变量
在请求中引用该变量。
引用方法是 ${变量名称};其中{}内写入参数化中的变量名称。

二、使用Jmeter函数助手
1、点击 选项-->函数助手 调出函数助手对话框
2、选择 _CSVRead 函数

函数参数详解
_CVSRead 函数是从外部读取参数,可以从一个文件中读取多个参数。因此需要新建一个username.dat文件,输入username 和 password 的参数值;

CSV file to get values from | * alias:
表示要读取的文件路径,为绝对路径

CSV 文件列号| next|*alias:
文件列号,注意 第一行是 0

点击【生成】按钮,则会自动生成参数化函数变量;

复制函数生成的参数变量
username 为${__CSVRead(C:UsersAdministratorDesktopjemterjbusername.dat,0)}
password 为${__CSVRead(C:UsersAdministratorDesktopjemterjb/username.dat,1)}

使用函数生成的参数变量
在请求中引用该变量。
复制生成的参数化函数, 粘贴到使用的地方即可,如图:

CSV Data Set Config 和 CSVRead函数的区别
共同点
从参数文件的第一行读取数据(和lr不同)

区别:
CSVRead函数,线程内的取值是重复的,即同一个用户多次循环时取值相同(缺点)
CSV Data Set Config,线程内的取值是不重复的,即同一个用户多次循环时取值不相同
总的来说:还是CSV Data Set Config比较方便.

原文地址:https://www.cnblogs.com/xianmin/p/14038763.html