【Jmeter】通过csv文件动态获取参数

本文详细介绍如何使用JMeter进行性能测试,包括设置线程组、使用CSV数据集配置、处理HTTP请求及响应断言,确保API调用稳定可靠。
  1. 首先添加一个线程组
    在这里插入图片描述

  2. 因为有一些公共的变量,所以可以先添加一个用户变量,用户变量可以放到线程组外,这样所有的线程组都可以用这一组环境变量
    在这里插入图片描述
    添加完成如下图
    在这里插入图片描述

  3. 在线程组上添加一个HTTP请求
    在这里插入图片描述

  4. 因为HTTP的参数是变化的,所以需要建立一个csv文件,存储这些可变的参数值,添加一个CSV Data Set Config
    在这里插入图片描述
    分隔符可以根据自己的参数来规定,我这里用的分隔符是 |, 因为我的csv文件的某个字段里面包含逗号,所以如果用逗号作为分隔符,会导致参数读取出错。参数的名称就是之后需要在HTTP请求中引用变量要用到的名称,每一个参数对应于csv文件中的一列,比如上面的变量path对应csv文件中的第一列,变量data对应csv文件中的第二列,以此类推
    在这里插入图片描述
    csv文件不能有表头,因为读取的时候会从第一行开始读。

这里提一个遇到的问题,就是在运行的过程中,发现会读到EOF,导致API调用出错,这个是不应该读到的
在这里插入图片描述
之后检查了一下csv文件,可以用Notepad++打开你的csv文件,然后显示所有字符
在这里插入图片描述
发现csv文件里面最后多了一个换行
在这里插入图片描述
所以删掉那个换行,再次运行就会发现不会再读到EOF了

  1. 填写HTTP的各项信息
    在这里插入图片描述
  2. 添加HTTP信息头管理器,因为有的API调用需要定义一些Header的信息,如果每个API的Header信息都不同,可以在每一个HTTP请求下面添加HTTP信息头管理器,如果一个线程组中的API的Header信息都是一样的,则可以把HTTP信息头管理器添加在线程组下面,这样整个线程组的API都会共用这一组Header
    在这里插入图片描述

在这里插入图片描述
7. 添加一个响应断言
在这里插入图片描述
我这里是判断了返回的status code,还有很多种断言的方法,大家可以使用,这里不做介绍
在这里插入图片描述

### 实现 JMeter 中从 CSV 文件中随机读取参数 为了实现在 JMeter 测试计划中从 CSV 文件中随机读取参数,需配置 `CSV Data Set Config` 组件。此组件允许定义多个属性来控制如何读取 CSV 文件的内容。 #### 配置文件路径与编码设置 在 `CSV Data Set Config` 的基本配置部分,应指明 CSV 文件的位置以及其编码方式。对于文件名(即文件路径),既可以提供绝对路径也可以采用相对路径;而针对文件编码,默认情况下 UTF-8 编码通常已足够满足需求[^3]。 ```plaintext Filename: /path/to/your/file.csv 或者 ./relative/path/to/file.csv File encoding: UTF-8 (默认选项) ``` #### 定义分隔符和变量命名规则 接着设定用于区分各字段之间的分隔字符,默认为逗号 `,` 。之后给定一个或多个变量名称,这些名字将在后续 HTTP 请求或其他采样器中作为占位符使用,以便替换实际值。例如: ```plaintext Variable Names: user, password Delimiter: , ``` 这意味着每行数据的第一个元素会被赋值给名为 `user` 的变量,第二个元素则分配给 `password` 变量。 #### 启用随机顺序读取功能 为了让每次迭代都能获取不同的组合而非固定次序的数据集,在高级选项里开启“Random Order”。一旦启用该特性,JMeter 将会在整个测试过程中无规律地抽取记录,从而模拟更贴近真实的并发场景。 ```plaintext Random order: True (选中此项) Stop thread on EOF: False (保持未选状态以允许多轮循环) Recycle on EOF?: True (确保遍历完毕后重新开始) Share mode: All threads (让所有线程共享同一份资源池) Ignore first line: True (如果首行为表头信息的话建议打勾忽略) Per Thread (User): True (使每个虚拟用户拥有独立副本) ``` 上述配置完成后,便可以在脚本内的任何地方通过 `${variableName}` 形式的表达式引用相应变量了。比如构建登录接口时可这样写入用户名密码: ```http POST /login HTTP/1.1 Host: example.com Content-Type: application/x-www-form-urlencoded username=${user}&password=${password} ``` 以上就是关于怎样利用 JMeter 来完成基于 CSV 数据源的随机抽样的全部步骤介绍。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值