jmeter参数化(三种方法)

1.用户定义的变量

创建:添加->配置元件->用户定义的变量

作用:当前的线程组内所有Sampler都可以引用变量,方便脚本更新;当参数发生变化时,只要在【用户定义的变量】中更新对应变量的参数即可,不需要逐个修改每个http中的参数

变量定义:可以是具体的值,也可以是函数(函数可自动生成:选项->函数助手对话框)

变量引用:Sample中引用变量的格式为:${变量名}

2.函数助手对话框-常用的Jmeter函数

创建:选项->函数助手对话框

__MD5:进行MD5加密,获取加密函数

__Random:在最大值和最小值之间取一个随机值。有三个参数:最大值,最小值,获取的随机值的变量名

例如,生成[0,2]内的随机函数

直接将函数作为变量传递:

或者将函数作为用户定义的变量值传递:

还有其他常用函数解释:

__P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。例如:${__P(hostname,XXX)}:返回属性hostname的值,如果没有定义该属性则返回值XXX

__CSVRead:从CSV文件中读取字符串。有两个参数:文件名,第几列(0表示第一列)

__UUID:随机取值,且结果唯一

3.创建CSV Data Set Config

创建:添加->配置元件->CSV Data Set Config

作用:可以从.csv、.dat等文件中获取数据,并将这些数据参数化。当数据发生变化时,只需要改原始文件,不需要改脚本

1)Filename:文件路径(如果和脚本同路径,只需要输入文件名;否则要输入全路径)

2)File encoding:编码和文件格式保持一致,如果有中文,最好用UTF-8

3)Variable names:参数名称,参数之间用,隔开

4)Delimiter:输入文件(csv/dat等)中的分割符号;用\t代替tab键

5)Allow quoted data:当获取的数据中包含"时,要设置为True

6)Recycle on EOF: 设置为True后,允许循环取值

7)Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效

8)Sharing Mode:共享模式: All threads:所有线程,所有线程循环取值,线程1取第一行,线程二取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:该测试计划内的所有线程都取第一行

.csv文件的填写格式:

调用CSV Data Set Config中的变量:

你可能感兴趣的:(jmeter参数化(三种方法))