Jmeter 通过读取文件参数化

本文介绍如何使用JMeter实现登录操作的参数化,通过导入外部.dat文件中的用户名和密码,让每个虚拟用户都能使用不同的凭据进行登录测试。

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

参数化:录制一个脚本,脚本中登录操作,输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者模拟多个用户来登录系统。

就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。

前提:

假如,录制一个脚本(可用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面。如下:

1.

我们需要“参数化”的数据,这里我用记事本写了五个用户名和密码,保存为.dat格式的文件。

我将这个文件放在了我的( D:\test.dat  )路径下。关于如何得到成百上千的用户名和密码,首先要在数据库中创建这些数据,将数据导出,整理保存,这里就不深究。

 

2.

编写函数来调用这个test.dat文件,点击菜单栏“选项”---->函数助手对话框,看下图。

 更正:.dat文件第一列从0开始取得。

3.

把写好的函数复制到“登录”页面用户名和密码位置。

参数化设置完成,运行脚本时,会调用我们D盘下面的test.dat文件,第一列是用户,第二列是密码。

注意用户名和密码是一一对应的,中间用户逗号(,)隔开。

### 使用 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 应用性能评估的相关介绍和技术细节说明.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值