Jmeter参数化的三种方式

Jmeter参数化有两种方式:用户参数、csv data set config

(一)用户参数

添加前置处理器——用户参数,可以设置变量

在这里插入图片描述

名称就是变量名称,用户1、2、3就是变量值

需要注意,想要变量值都遍历到,就需要有几个变量设置线程循环几次,注意是线程,step循环只会取第一个变量

响应断言一般和断言结果一起查看,断言结果中如果一次响应只有一条记录,则表明断言成功,下图是因为循环了两次
在这里插入图片描述

(二)csv data set config

在这里插入图片描述
字段说明:

  1. Filename:文件名,即参数化要引用的包含了变量的文件名
  2. File encoding:文件编码,可以不填
  3. Variable Names(comma-delimited):变量名(用逗号分隔),多个变量可以引用一个文件,用逗号分隔,如username,pwd
  4. Delimiter(use \t for tab):文件中多个参数的分隔符,\t表示用tab分隔,默认是用逗号
  5. Recycle on EOF:结束后是否循环,默认是true

代码:
链接:

### JMeter 参数化的使用方法 在性能测试工具 JMeter 中,参数化是模拟真实用户行为和场景的重要环节。以下是几种常用的 JMeter 参数化方法及其具体实现方式。 #### 1. CSV Data Set Config CSV Data Set Config 是一种常用的方法,适用于需要从外部文件读取大量数据的场景。通过配置 CSV 文件,可以为每个线程提供不同的参数值。 - **配置步骤**: - 在 Test Plan 中添加一个 `CSV Data Set Config` 元件。 - 设置文件名(相对路径或绝对路径),确保文件位于 JMeter 的 `bin` 目录下[^4]。 - 配置变量名称、分隔符等参数。 - **示例**: 假设有一个名为 `data.csv` 的文件,内容如下: ``` user1,password1 user2,password2 ``` 在 `CSV Data Set Config` 中设置变量名称为 `username` 和 `password`,分隔符为逗号。在 HTTP 请求中,可以通过 `${username}` 和 `${password}` 使用这些参数。 #### 2. User Parameters User Parameters 是一种简单的参数化方式,适合参数取值范围较小的场景。它允许用户直接在 GUI 中定义参数值。 - **配置步骤**: - 添加 `User Parameters` 元件。 - 定义参数名称和对应的值列表。 - **示例**: 如果需要测试两个用户的登录场景,可以在 `User Parameters` 中定义 `username` 和 `password` 的值列表: ``` username: user1, user2 password: pass1, pass2 ``` #### 3. User Defined Variables User Defined Variables 是一种全局变量定义的方式,适用于在整个测试计划中不需要随请求迭代的参数。 - **配置步骤**: - 在 Test Plan 层级添加 `User Defined Variables` 元件。 - 定义变量名称和值。 - **示例**: 如果需要定义一个全局变量 `baseURL`,可以设置为 `http://example.com`。在后续的 HTTP 请求中,可以通过 `${baseURL}` 引用该变量。 #### 4. BeanShell 脚本 BeanShell 是一种灵活的参数化方式,尤其适合需要动态生成或处理复杂逻辑的场景。例如,可以使用 BeanShell 进行加密处理。 - **配置步骤**: - 在某个 Sampler 下添加 `BeanShell PreProcessor`。 - 编写 BeanShell 脚本,使用 `vars.put` 将结果存储为 JMeter 变量。 - **示例**: 以下是一个加密密码的示例脚本: ```java import com.pingan.ff.account.user.utils.*; String password = "123123"; String encode = SecurityUtils.getKey(password); vars.put("encode", encode); ``` 加密后的密码可以通过 `${encode}` 在 HTTP 请求中使用[^2]。 #### 5. 函数助手(Function Helper) JMeter 提供了多种内置函数,可以作为其他参数化方式的补充。例如,`__Random` 函数用于生成随机数。 - **示例**: 在 HTTP 请求中使用随机数生成器: ``` ${__Random(1000,9999)} ``` ### 注意事项 - 根据实际需求选择合适的参数化方法。例如,小范围参数使用 `User Parameters`,大范围参数使用 `CSV Data Set Config`[^3]。 - 确保外部文件路径正确,并且在分布式测试环境中,所有节点都能访问到相同的文件[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值