Jmeter参数化常用方式

概念

参数化: 就是动态的获取、设置或生成数据,是一种由程序驱动代替人工驱动的数据设计方案

作用

参数化得优点,其实就是程序实现较之于人工实现的优点,通过参数化,可以提高脚本的编写效率以及编写质量

实现

JMeter 中为不同的场景, 提供了不同的参数化方案, 常见实现有如下四种:

  • 用户参数
  • 用户定义的变量
  • CSV 数据文件设置
  • 函数

1、用户参数

以以下场景为例:

请求:https://www.baidu.com

要求:第一次请求附带参数name="账单"&age=18;第二次请求附带参数:name="李四"&age=28

添加线程组

Jmeter参数化常用方式_第1张图片

添加用户参数

Jmeter参数化常用方式_第2张图片

添加变量(数据字段的变量名)

Jmeter参数化常用方式_第3张图片

 添加数据,第二列及以后每列代表一条数据

Jmeter参数化常用方式_第4张图片

添加http请求,并配置参数,变量值形式为${XXX},大括号里面一定要和"用户参数"那里配置的变量名称一致

Jmeter参数化常用方式_第5张图片线程数设置2

Jmeter参数化常用方式_第6张图片

查看结果

Jmeter参数化常用方式_第7张图片

Jmeter参数化常用方式_第8张图片

2、用户定义的变量

 【用户定义的变量】一般做全局变量使用,不适合参数需求量大时的选择

添加线程组

Jmeter参数化常用方式_第9张图片

添加用户定义的变量

方式1

Jmeter参数化常用方式_第10张图片

方式2测试计划中直接添加

Jmeter参数化常用方式_第11张图片

添加变量

Jmeter参数化常用方式_第12张图片

添加http请求,并配置参数

Jmeter参数化常用方式_第13张图片

查看结果

Jmeter参数化常用方式_第14张图片

 3、CSV Data Set Config

拓展:

CSV 文件:逗号分隔值, 是一种简洁且常见的数据存储格式, 存储语法如下图所示

在CSV文件中,一行对应一条信息,一条信息中的不同字段用英文逗号分隔

Jmeter参数化常用方式_第15张图片

以以下场景为例

场景1

请求https://www.baidu.com

要求:循环3次,每次请求时附带参数id,code,session的值不同

添加线程组

Jmeter参数化常用方式_第16张图片

添加CSV Data Set Config

Jmeter参数化常用方式_第17张图片

配置文件

Jmeter参数化常用方式_第18张图片

设置CSV Data Set Config的参数

Jmeter参数化常用方式_第19张图片

添加http请求并配置参数

Jmeter参数化常用方式_第20张图片

线程组循环次数设置为3

Jmeter参数化常用方式_第21张图片

添加查看结果树,运行并查看结果

Jmeter参数化常用方式_第22张图片

Jmeter参数化常用方式_第23张图片

Jmeter参数化常用方式_第24张图片

场景2:

思考一下,文件中如果数据经常变化,每次都设置循环次数,就非常不灵活,如何实现有多少行读取多少行,动态获取数据条数

首先, 将线程组的循环次数设置为永远
Jmeter参数化常用方式_第25张图片

然后, 修改 CSV 数据文件设置属性
Jmeter参数化常用方式_第26张图片

经过以上设置,就不用每次手动修改循环次数,这样更加灵活 

CSV Data Set Config的参数详解:

Filename:参数项文件(参数路径)

File encoding:文件编译字符编码,一般设置UTF-8

Variable names:读取参数后保存的变量名称

Delimilter:如文件中使用的是逗号,填写逗号,如果文件中使用的TAB,则填写\t

忽略首行:True表示从第二行开始读,默认为false

Allow Quoated data:CSV文件是否容许值被引用,一般默认即可

Recycle on EOF:True当读取文件到结尾时再重头读取文件,False当读取文件到结尾时,停止读取文件,一般默认即可

Stop thread on EOF:当"Recycle on EOF"一项为False时起效;True当读取到文件结尾时,停止进程,一般默认即可

Share Mode:共享模式一般默认即可

4、函数(__counter)

作用:这个函数是一个计数器,用于统计函数的使用次数

新建线程组

Jmeter参数化常用方式_第27张图片

添加http请求、查看结果树

Jmeter参数化常用方式_第28张图片

调用函数

三种方式

Jmeter参数化常用方式_第29张图片

 Jmeter参数化常用方式_第30张图片

Jmeter参数化常用方式_第31张图片

TRUE,每个用户有自己的计数器可以用于统计每个线程各执行了多少次;
FALSE,使用全局计数器,可以统计出这次测试共运行了多少次用

http请求添加变量,${__counter(False,)}

Jmeter参数化常用方式_第32张图片

线程组设置循环次数

Jmeter参数化常用方式_第33张图片

查看结果是否为num1-10

Jmeter参数化常用方式_第34张图片

Jmeter参数化常用方式_第35张图片

总结

Jmeter参数化常用方式_第36张图片

 


 

你可能感兴趣的:(jmeter)