常用的Jmeter参数化使用方法和应用场景

我们在做接口自动化测试时,通常把输入数据用参数来替代,然后在脚本执行时,根据需要选取不同的参数值作为输入值。

下面介绍 jmeter 提供的4种参数化方式:

01

用户参数

1.添加用户参数

右击(如测试计划、线程组、http请求等)> 添加 > 前置处理器 > 用户参数

2.设置参数

通过【添加变量】添加 account 和password两个变量:

3.参数引用

在接口请求参数中通过**${变量名}**的方式来引用变量:

由于在【用户参数】中添加了两组数据,而线程组中的线程数只设置了1个,那么执行登录接口的时候取的值为第一组数据(admin/123456)。 

总结:

这种参数化方式较简单,但数据范围有限,适用场景也少。

02

用户自定义变量

1.添加用户定义的变量

右击(如测试计划、线程组、http请求等)> 添加 > 配置元件 > 用户定义的变量

2.添加变量

点击页面下方的【添加】按钮,变量列表中会新增一行,名称一栏中填写变量名,值一栏中填写对应的值,描述一栏可以填写描述(非必填)。

3.引用变量

在登录接口请求参数中通过**${变量名}**的方式来引用变量。

总结:

【用户定义的变量】一般并非用来做HTTP请求参数化,而是用来定义全局变量,比如参数化文件路径、host、url等。

如果创建在“线程组”上,则在线程组内生效,创建在“测试计划”上,则对所有线程组生效。

03

CVS 数据文件设置

1.添加CSV数据文件设置

右击(如测试计划、线程组、http请求等)> 添加 > 配置元件 > CSV数据文件设置

2.CSV页面参数介绍

各项参数详解:

参数描述是否必填
名称脚本中显示的这个元件的描述性名称
文件名待读取文件的名称。可以写入绝对路径,也可以写入相对路径(相对于bin目录),如果直接写文件名,则该文件要放在bin目录中。对于分布式测试,主机和远程机中相应目录下应该有相同的CSV文件
文件编码文件读取时的编码格式,不填则使用操作系统的编码格式
变量名称多个变量名之间必须用分隔符分开,如果该项为空,则文件首行会被读取并解析为列表
忽略首行csv文件中没有表头,则选择false
分隔符将一行数据分隔成多个变量,默认为逗号,也可以使用“\t”。如果一行数据分隔后的值比用户自定义中的变量少,这些变量将保留以前的值。
是否允许变量使用双引号?允许的话,变量将可以括在双引号内,并且这些变量名可以包含分隔符
遇到文件结束符是否再次循环?默认为 true
遇到文件结束符是否停止线程?默认为 true
线程共享模式1、All threads(默认):一个线程组内,各个线程(用户)唯一顺序取值;2、current thread:一个线程组内,各个线程(用户)各自顺序取值;3、Current thread group:线程组各自独立,但每个线程组内各个线程(用户)唯一顺序取值;

2.参数化文件

将account文件放置到bin目录下,在【设置CSV数据文件】中导入

  • 文件名:点击“浏览”,在bin目录下选择文件路径
  • 变量名称:两列数据分别为 account 和 password 两个变量
  • 分隔符:以逗号分开

3.引用变量

在接口请求参数中通过**${变量名}**的方式来引用变量。

总结:

【CSV数据文件设置】是常用的数据参数化方式,它能够读取文件中的数据并生成变量,被JMeter脚本引用。

04

函数助手

1.创建random函数

选项 > 函数助手对话框 > 选择一个功能 > _Random:

 

2.设置random随机数

设置数据区间范围,点击【生成】按钮,生成一个随机表达式

3.引用参数

使用上一步生成的表达式替换参数化的变量值

总结:

当参数为随机数时,可使用函数助手生成所需数据,当所需字段数据长度较长且不能重复时,通常将时间函数与计数器结合,拼接为合适长度的有效数据.

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值