Jmeter参数化请求

1、Parameters参数化请求

1.1、创建CSV文件

在这里插入图片描述

1.2、添加csv data set config

在这里插入图片描述

1.3、设置参数

在这里插入图片描述

2、Body Data参数化请求

2.1、创建CSV文件

在这里插入图片描述
注意:必须要有表头

2.1、添加csv data set config

在这里插入图片描述

  1. 设置编码UTF-8
  2. 设置分隔符:delimiter

2.3、设置参数

在这里插入图片描述
注意:此处 ${} 外面必须又双引号

{
    "serial":"${serial}","region":"${region}"
}

3、路径参数

在这里插入图片描述

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

4、编码问题

4.1、读取CSV文件乱码

读取CSV文件时,参数出现???或者乱码,如下:
在这里插入图片描述

解决:Excel保存CSV时,保存为UTF-8
在这里插入图片描述
如下:此处可以识别中文
在这里插入图片描述

4.2、后台获取参数?

设置请求内容编码
在这里插入图片描述

4.3、Jmeter显示响应参数为乱码

在这里插入图片描述
解决方法1: 对http请求设置后处理器,prev.setDataEncoding(“utf-8”);
在这里插入图片描述
解决方法2:jmeter的bin目录,打开jmeter.properties,找到sampleresult.default.encoding这个字段,修改编码格式,并去掉注释

sampleresult.default.encoding=utf-8
### 如何在 JMeter 中实现 GET 请求参数化 #### 使用 CSV 数据文件进行参数化 CSV 文件可以存储多个测试数据集,每一列代表一个参数。通过 `CSV Data Set Config` 组件读取这些数据并用于 HTTP 请求。 1. **准备 CSV 文件** 创建名为 `testData.csv` 的文件,内容如下: ```csv searchTerm,expectedResultCount JMeter,100 Apache,80 性能测试,75 ``` 2. **配置 CSV Data Set Config** 在测试计划中添加一个新的线程组,并在其下添加 `CSV Data Set Config`[^2]。 设置属性: - Filename: `${__P(testdata,)}/testData.csv` - Variable Names: `searchTerm, expectedResultCount` - Delimiter: `,` - Recycle on EOF? : True - Stop Thread on EOF? : False - Sharing Mode: All threads 3. **构建 HTTP 请求** 在同一线程组内添加 `HTTP Request Sampler` 并配置 URL 和路径为百度搜索引擎 API 地址[^1]。 URL 示例:`https://www.baidu.com/s?wd=${searchTerm}` 这会动态替换每次迭代中的占位符 `${searchTerm}` 为来自 CSV 文件的新值。 4. **验证结果** 为了观察实际发送给服务器的数据以及接收到的结果,在同一级别上增加 “View Results Tree Listener”,以便于调试期间检查请求/响应详情。 #### 利用 BeanShell 进行复杂逻辑处理 对于更复杂的场景,比如加密查询字符串或其他预处理工作,则可以通过编写自定义 Java 类来完成特定功能,并将其打包成 jar 放置到 JMeter 安装目录下的 lib/ext 文件夹里[^3]。 接着可以在任何采样器之前加入 `BeanShell PreProcessor` 来执行必要的初始化操作,例如加载外部资源或计算某些表达式的输出作为后续使用的变量。 示例代码片段展示如何调用已编译好的类方法并将返回值存入环境变量供其他组件访问: ```java // 假设 MyUtils 是已经部署至 jmeter/lib/ext 下面的一个工具库 import com.example.MyUtils; String encryptedParam = MyUtils.encryptParameter(vars.get("rawInput")); vars.put("encryptedValue", encryptedParam); log.info("Encrypted parameter value is " + encryptedParam); ``` 上述过程展示了两种常见的 JMeter 参数化技术——基于静态文本文件输入和编程方式扩展框架能力的方法。这两种手段能够显著提高自动化脚本灵活性与可维护性的同时也简化了大规模并发测试的设计流程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值