jmeter读取csv文件变量

本文详细介绍了如何在JMeter中进行参数化测试,包括使用函数助手创建_Random和_CSVRead函数读取CSV文件,CSV Data Set Config控制器的配置与使用,用户定义的变量,正则表达式提取器提取数据,以及从数据库获取数据的方法,提供了具体的步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仔细看过后,觉得用得最多的应该是csvread函数、用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对应的数据。

正则表达式和数据库连接留待以后再研究。

 

案例:邮箱登录操作,参数化登录的用户名

方法一、依赖Jmeter自带的函数助手

选项-->函数助手对话框,即可打开函数助手弹窗

(1)比如使用函数_Random

  输入最小值、最大值,点击下方的【生成】按钮,即会生成:${__Random(1,5,)}

  

  假如邮箱是163的,则用户名参数的值直接填入:${__Random(1,5,)}@163.com,我测试的邮箱是内网测试用的域名是180chen.cn,则填写${__Random(1,5,)}@180chen.cn

  

 

(2)比如使用函数__CSVRead

  先准备csv文件,可以先在excel文件里准备好数据,保存的时候格式选择csv格式;

  

### 使用 JMeter 实现 CSV 文件参数化的配置 #### 配置 CSV Data Set Config 组件 为了使 JMeter 能够读取 CSV 文件并将其用于 HTTP 请求或其他采样器,需先向测试计划中添加 `CSV Data Set Config` 组件。此组件允许从外部 CSV 文件加载变量,并在每次迭代时更新这些变量的值[^1]。 ```properties # CSV文件路径设置 filename=${__P(csvPath,./testData.csv)} fileEncoding=UTF-8 variableNames=userId,password,email delimiter=, recycle=true stopThread=false shareMode=all ``` 这段配置定义了一个名为 `CSV Data Set Config` 的元件,指定了要读取CSV 文件的位置、编码方式以及列名对应的变量名称等属性。其中 `${__P(csvPath,...)}` 表达式表示可以通过命令行传递 CSV 文件的具体位置,默认为相对路径下的 `testData.csv` 文件;`variableNames` 列表应与 CSV 文件首行列头相匹配;其他选项则控制着当到达文件末尾后的处理行为及线程间共享模式[^2]。 #### 将 CSV 变量应用于 HTTP 请求 一旦设置了 `CSV Data Set Config` 后,在后续创建的任何 HTTP Request 或者其他的 Sampler 中都可以直接调用之前设定好的变量作为输入参数的一部分。例如: ```http POST /login HTTP/1.1 Host: example.com Content-Type: application/json;charset=UTF-8 { "username": "${userId}", "password": "${password}" } ``` 这里展示了如何构建一个 POST 方法类型的登录接口请求体,它包含了两个来自 CSV 文件的数据项——用户名 (`${userId}`) 和密码(`${password}`). 当执行该测试方案时,JMeter 会依次取出 CSV 文件里的记录填充到相应的占位符处完成整个过程[^3]. #### 自动断言机制的应用 除了基本的功能外,还可以进一步增强自动化程度,比如引入自动断言功能。这通常涉及到把预期的结果也存入同一份或者另一份关联性的 CSV 文档里去,之后再利用相同的原理让程序能够比较服务器返回的实际结果同预设的标准之间是否存在差异。如果两者一致,则认为此次操作成功;反之亦然[^4]. ```json // 测试数据及其对应期望结果示例 [ {"input":"userA","expectedResult":"success"}, {"input":"invalidUser","expectedResult":"failure"} ] ``` 以上就是关于怎样借助于 JMeter 工具配合 CSV 文件来进行高效的 Web 应用性能评估的相关介绍和技术细节说明.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值