jmeter参数化设置

日常进行请求中涉及到参数传递的存在两种情况,一种是参数存在于url中,另一种是通过请求;通常在url中的参数可以直接写在请求路径中,http请求常用又分为get和post请求;url的请求可以直接写在请求路径中,http的请求就可以设置成参数化,下面对jmeter设置参数值的几种方法介绍如下:
一、 jmeter的函数获取,如__Random,__CSVRead,__StringFromFile,等;具体调用方法如下:
方法的获取可以在jmeter如下位置找到
这里写图片描述

${__Random(,,)}方法的第一个参数为随机数的下限,第二个参数为随机数的上限,第三个参数为储存随机数的变量名;${__CSVRead(,)}方法中第一个参数是文件名,第二个参数是文件中的列(列数从0开始);${__StringFromFile(,,,)}方法中第一个参数是文件名,${__StringFromFile(,,,)}方法中没有指定读取文件中的哪一列的参数,所以${__StringFromFile(,,,)}只能读取包含一列的文件
二、 用户定义的变量,使用方法如下:
这里写图片描述
请求中引用
这里写图片描述
也可以将用户定义变量和以上函数组合使用
三、 从csv文件中读取
当参数的值没有规律且量不太大时,可以使用这种方法;具体步骤如下:
1. 创建csv文件,内容为参数值集,每个参数占一列,第一行就开始写参数值,不用写参数名
2. 在测试计划或线程组中添加csv data set config
这里写图片描述
3. 在Filename中写csv文件完整路径
4. 在Veriable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开

四、 从数据库中获取,以下以mysql数据库为例介绍
1. 下载MySQL JDBC驱动jar包,添加到jmeter的lib目录下
2. 添加
这里写图片描述
配置响应的内容
这里写图片描述
3. 添加jdbc request,然后写对应的sql语句进行查询
这里写图片描述
4. 对如上的jdbc请求添加后置处理器->正则表达式提取器,相应的jmeter正则表达式内容不做过多介绍
以上四种设置参数的方法完全可以满足我们对参数化的设置需求。

### JMeter 参数化配置教程 #### 使用CSV Data Set Config进行参数化 CSV Data Set Config是一种常用的方法,用于读取外部文件中的数据并将其作为变量传递给JMeter脚本。这使得可以轻松地为多个线程提供不同的输入值。 ```properties filename= testData.csv # 文件名, 包含测试数据的CSV文件位置 fileEncoding=UTF-8 # 编码格式 variableNames=username,password # 定义从CSV文件中读取的数据对应的变量名称 delimiter=, # CSV文件字段分隔符,默认逗号 recycle=true # 当到达文件末尾时重新开始循环遍历文件 stopThread=false # 如果没有更多记录,则停止该线程 shareMode=all # 数据共享模式:all(所有线程), group(仅限当前线程组内的线程) ``` 通过上述配置项可以在`testData.csv`文件里准备多条登录用户名密码组合,并让不同虚拟用户依次使用这些凭证发起请求[^1]。 #### 用户定义的变量 对于一些固定的全局变量,如服务器地址、端口号或者其他不经常变动的信息,可以通过“用户定义的变量”功能来进行管理。这种方式不是为了处理大量动态变化的数据,而是为了让整个测试计划更加灵活易维护[^3]。 例如,在HTTP Request默认请求下添加如下自定义变量: | 名称 | 值 | |------|------------| | host | www.example.com | 之后就可以在整个项目内引用`${host}`来代替硬编码的具体网址字符串了。 #### 函数助手(_counter) 当需要生成连续递增数值序列时(比如模拟订单编号),可利用内置函数_counter()。此方法不需要额外创建任何文件,只需简单配置即可满足需求。 ```jmeter ${__counter(TRUE)} ``` 这段表达式的含义是从1开始计数,每次调用都会返回下一个整数,并且即使重启JMeter也会保持累加状态不变[^2]。 #### 动态构建URL或其他资源路径 有时可能希望基于某些条件改变所访问的目标链接部分片段。此时便能借助于其他类型的函数辅助工具完成更复杂的逻辑运算或随机选取特定范围内的值等操作[^4]。 ```java // 构造带查询参数的GET请求URL http://example.org/api/v1/resource?param=${randomValue} ``` 以上就是几种常见的JMeter参数化的实现手段介绍。每一种都有其适用场景,请根据实际业务情况选择最合适的方式实施自动化负载测试工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值