最近在做压力测试,登录功能用到了配置元件:CSV 数据文件设置,可以将登录用户名和密码放在一个csv文件中,然后通过CSV数据文件设置元件读取出来,用来做压测。
一、CSV文件
CSV文件小知识分享:是指"逗号分隔值"(Comma-Separated Values)文件,它是一种简单的文件格式,用于存储表格数据,例如电子表格或数据库,可以用记事本和Excel打开。
二、CSV数据文件设置适用场景
在JMeter中,CSV数据文件配置元件(CSV Data Set Config)用于从CSV文件中读取数据,并将这些数据作为参数传递给测试计划中的请求,这样可以在测试运行时模拟不同的用户、输入或数据组合,增加测试的复杂性和覆盖范围。
使用场景:
- 参数化测试:当你需要对一个请求进行多次重复测试,并使用不同的输入数据进行参数化,CSV数据文件配置元件非常有用。例如,可以测试一个登录页面,通过从CSV文件中读取多个用户名和密码进行登录测试。
- 负载测试:在模拟多个用户同时访问系统的情况下,CSV数据文件配置元件可以为每个用户提供不同的数据,以验证系统在高负载情况下的性能。
三、CSV数据文件设置用法
1、添加配置元件
在JMeter测试计划中,右键单击线程组(或其他需要使用CSV数据的元件),选择 "添加" > "配置元件" > "CSV数据文件设置"
2、 配置CSV数据文件
参数说明:
文件名:可以填文件名称,也可以填路径,如果是名称的话,默认读取bin目录下的文件,可以填写文件名为test.csv或者路径为D:\Jmeter\apache-jmeter-4.0\bin\test.csv。
文件编码: 如果CSV文件包含非ASCII字符(如中文或其他特殊字符),则需要确保使用正确的编码。常见的编码方式包括UTF-8、GBK等,多数情况下是UTF-8。
变量名称: CSV文件中每列数据的变量名称,每个变量名称应该用逗号或其他分隔符分开,与CSV文件中的列对应,后面可以以${变量名}的形式引用,确保CSV文件中的数据和参数的顺序一致 。
忽略首行:当变量名称不为空时使用,当CSV文件有表头时,选择True,否则选择False。
分隔符: CSV文件中字段之间的分隔符。默认为逗号(,),但你也可以设置其他字符,例如分号(;)或制表符(\t)。
是否允许带引号:默认为False,允许的话变量可以在双引号内。
遇到文件结束符再次循环: 如果设置为True,当CSV文件的所有数据行都被使用后,JMeter将重新从文件的开头开始使用数据。如果设置为False,当所有数据行用完后,测试会停止。
遇到文件结束符停止线程: 如果设置为True,当CSV文件的所有数据行都被使用后,相关的线程组将停止执行。如果设置为False,当所有数据行用完后,线程组仍将继续执行。
线程共享模式:这是线程间共享文件句柄的模式。有三个选项:
- All threads: 所有线程共享一个CSV文件句柄。
- Current thread group: 当前线程组内的线程共享一个CSV文件句柄。
- Current thread: 每个线程都有自己的CSV文件句柄。
test.csv文件就放在JMeter的bin目录下:
test.csv的文件内容如下,两个变量,分别为username和passwd。
3、添加http请求
以登录接口为例,用户名和密码的参数与CSV数据文件设置的参数保持一致,引用形式分别是${username}和${passwd}。
4、查看运行结果
分别取了test.csv文件中的前三个数据。
今天的分享就到这里~