Jmeter参数化常用方式

概念

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

作用

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

实现

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

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

1、用户参数

以以下场景为例:

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

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

添加线程组

添加用户参数

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

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

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

线程数设置2

查看结果

2、用户定义的变量

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

添加线程组

添加用户定义的变量

方式1

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

添加变量

添加http请求,并配置参数

查看结果

 3、CSV Data Set Config

拓展:

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

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

以以下场景为例

场景1

请求https://www.baidu.com

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

添加线程组

添加CSV Data Set Config

配置文件

设置CSV Data Set Config的参数

添加http请求并配置参数

线程组循环次数设置为3

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

场景2:

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

首先, 将线程组的循环次数设置为永远

然后, 修改 CSV 数据文件设置属性

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

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)

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

新建线程组

添加http请求、查看结果树

调用函数

三种方式

 

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

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

线程组设置循环次数

查看结果是否为num1-10

总结

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,参数是一种将固定的值替换为动态值的方法,以便在每次请求中使用不同的参数值。参数可以用于多种情况,例如在测试登录功能时,可以将用户名和密码参数,以便在每次请求中使用不同的值。 以下是JMeter中四种常用参数方法: 1. CSV Data Set Config/CSV数据文件设置: - 首先,创建一个CSV文件,将需要参数的值存储在文件中,每行一个值。 - 在JMeter中,添加CSV Data Set Config元件,并配置它以指向CSV文件。 - 在测试计划中的请求中,使用`${变量名}`的形式引用CSV文件中的值,例如`${username}`和`${password}`。 - 在每次请求中,JMeter将从CSV文件中读取下一个值,并将其用作参数的值。 2. 函数助手: - JMeter提供了许多内置函数,可以用于生成动态值。 - 在测试计划中的请求中,使用`${__函数名(参数)}`的形式引用函数生成的值,例如`${__Random(1,100)}`可以生成1到100之间的随机数。 3. 用户参数: - 在测试计划中,添加用户参数元件,并在其中定义需要参数的变量和对应的值。 - 在请求中,使用`${变量名}`的形式引用用户参数中定义的变量,例如`${username}`和`${password}`。 4. 用户自定义变量: - 在测试计划中,添加用户自定义变量元件,并在其中定义需要参数的变量和对应的值。 - 在请求中,使用`${__V(变量名)}`的形式引用用户自定义变量中定义的变量,例如`${__V(username)}`和`${__V(password)}`。 通过使用这些参数方法,可以轻松地在JMeter中实现参数,以模拟不同的用户行为和数据输入。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值