Jmeter 参数化--4种方式

本文详细介绍了JMeter进行参数化的概念和重要性,包括User Parameters、CSV Data Set Config、User Defined Variables以及Function Helper中的函数4种主要参数化方式,并通过实例演示了如何设置和使用这些参数化方法,适用于不同场景的数据驱动测试。
Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

一、JMeter参数化简介

1.JMeter参数化的概念

当使用JMeter进行测试时,测试数据的准备是一项重要的工作。若要求每次迭代的数据不一样时,则需进行参数化,然后从参数化的文件中来读取测试数据。

参数化:是自动化测试脚本的一种常用技巧,可将脚本中的某些输入使用参数来代替,如登录时利用GET/POST请求方式传递参数的场景,在脚本运行时指定参数的取值范围和规则。
脚本在运行时,根据需要选取不同的参数值作为输入,该方式称为数据驱动测试(Data Driven Test),而参数的取值范围被称为数据池(Data Pool)

2.JMeter参数化方式之使用场景对比
参数化方式使用场景
1User Parameters适用于参数取值范围很小的时候使用
2CSV Data Set Config适用于参数取值范围较大的时候使用,该方法具有更大的灵活性
3User Defined Variables一般用于Test Plan中不需要随请求迭代的参数设置
4FunctionHelper中的函数可作为其他参数化方式的补充项,如:随机数生成的函数${__Random(,)}

二、Jmeter参数化的4种主要方式

1.User Parameters(用户参数)

操作路径:线程组–>添加–>前置处理器–>用户参数
1)添加用户参数功能模块在这里插入图片描述
2)设置参数项、参数值(变量和用户)
这里添加四个用户,也就是4组参数
在这里插入图片描述
3)配置http取样器界面的请求参数
在这里插入图片描述
4)配置线程组
设置线程数:4,代表执行4个用户数
在这里插入图片描述
5)添加察看结果树,查看运行的结果
操作路径:线程组–>添加–>监听器–>察看结果树
在这里插入图片描述
下图可看到结果:
4个运行成功,4个openid成功传入
在这里插入图片描述
在这里插入图片描述

2.CSV Data Set Config(CSV数据文件设置)

操作路劲:线程组–>添加–>配置元件–>csv数据文件设置
1)添加CSV数据文件设置模块
在这里插入图片描述
2)准备需要做参数化的参数值

①简单的几条数据:这里是用.csv格式保存的;.txt格式也可以。

在这里插入图片描述
②最近在做一个大并发,所以需要准备的数据特别多,该如何做呢?
可以先在数据库中查询出需要传的参数,导出文件格式默认为:.csv,可以保存到桌面或者其它位置,一会备用
在这里插入图片描述
在这里插入图片描述
3)配置CSV Data模块
在这里插入图片描述
Configure the CSV Data Source配置项&功能:

配置项取值或者选择项
Filename(文件名)参数化文件的读取位置,即保存参数化数据的文件目录。可为绝对路径,也可为相对路径。在分布式测试中,还是利用相对路径比较方便,因为有的机器可能安装路径不一样,同时可避免脚本迁移时需要修改路径
File Encoding(文件编码)编码格式,选择UTF-8
Variable Names(变量名称(西文逗号间隔))变量名称。这里定义的变量名称,后面就可以直接用来引用了。(多个变量名称以逗号隔开,例如username,passwd,参数化文件中同样有对应的两列数据。)
Ignore first line(忽略首行)忽略第一行数据(类似LR中第一行数据是变量名称,如果你的配置文件中为了记忆第一行也是变量名,可以选择是忽略该行数据)
Delimiter(分隔符)Variable Names中的参数分隔符,默认为英文逗号
Allow quoted data?是否允许引用数据,默认false。选项为“true”时对全角字符的处理可能会出现乱码
Recycle on EOF?是否循环读取参数文件内容;因为CSV Data Set Config一次读入一行,分割后存入若干变量中交给一个线程,如果线程数超过文本的记录行数,那么可以选择从头再次读入
Stop thread on EOF?当Recycle on EOF为False时(读取文件到结尾),停止进程,当Recycle on EOF为True时,此项无意义
Sharing mode(线程共享模式)共享模式,即参数文件的作用域:All Threads(所有现场);Current Thread Group(当前线程组);Current Thread(当前线程)

在这里插入图片描述
4)设置http取样器的请求参数
在这里插入图片描述
5)设置线程组

这里主要是设置模拟执行的用户个数
线程数:100,代表待会会执行100个用户
在这里插入图片描述
6)添加察看结果树,查看执行结果
操作路劲:线程组–>添加–>监听器–>察看结果树
在这里插入图片描述
在这里插入图片描述

3.User Defined Variables(用户自定义变量)

1)添加用户自定义变量模块
操作路劲:线程组–>添加–>配置元件–>用户自定义变量
在这里插入图片描述
2)配置User Defined Variables用户自定义变量界面中的参数及其值
操作路劲:
在这里插入图片描述
3)设置http采样器的请求参数,将参数传进去
在这里插入图片描述
4)设置线程数
这里主要是设置模拟执行的用户个数
线程数:2,代表待会会执行2个用户
在这里插入图片描述
5)添加察看结果树,查看执行结果
操作路劲:线程组–>添加–>监听器–>察看结果树

在这里插入图片描述在这里插入图片描述

4.Function Helper中的函数

操作路劲:tools–>函数助手对话框
在这里插入图片描述
1)设置函数
比如:需要随机获取一个时间
在这里插入图片描述
2)复制生成的函数字符串
在这里插入图片描述
3.粘贴到http请求参数中
在这里插入图片描述
4)添加察看结果树,查看执行结果
操作路劲:线程组–>添加–>监听器–>察看结果树
在这里插入图片描述
在这里插入图片描述
函数还有很多,需要的可以去了解一下
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值