一、什么是csv文件
CSV文件:是指"逗号分隔值"(Comma-Separated Values)文件,它是一种简单的文件格式,用于存储表格数据,例如电子表格或数据库,可以用记事本和Excel打开,用记事本打开的话,每一列数据都用逗号隔开
二、CSV数据文件设置适用场景
在JMeter中,CSV数据文件配置元件(CSV Data Set Config)用于从CSV文件中读取数据,并将这些数据作为参数传递给测试计划中的请求,这样可以在测试运行时模拟不同的用户、输入或数据组合,增加测试的复杂性和覆盖范围。
- 从外部导入测试数据,相当于数据参数化
- 通过从文件中导入大量的测试数据,来模拟大量真实用户发送并发请求
使用场景:
参数化测试:当你需要对一个请求进行多次重复测试,并使用不同的输入数据进行参数化,CSV数据文件配置元件非常有用。例如,可以测试一个登录页面,通过从CSV文件中读取多个用户名和密码进行登录测试。
负载测试:模拟大量真实用户发送并发请求来访问系统,CSV数据文件配置元件可以为每个用户提供不同的数据,以验证系统在高负载情况下的性能。
三、在线程组下添加csv数据文件
csv配置参数:
遇到文件结束符再次循环: 如果设置为True,当CSV文件的所有数据行都被使用后,JMeter将重新从文件的开头开始使用数据。如果设置为False,当所有数据行用完后,测试会停止。
遇到文件结束符停止线程: 如果设置为True,当CSV文件的所有数据行都被使用后,相关的线程组将停止执行。如果设置为False,当所有数据行用完后,线程组仍将继续执行。
线程共享模式:这是线程间共享文件句柄的模式。有三个选项:
- All threads: 所有线程共享一个CSV文件句柄。
- Current thread group: 当前线程组内的线程共享一个CSV文件句柄。
- Current thread: 每个线程都有自己的CSV文件句柄。
请求配置:
request0226.csv文件内容:
注:如果请求不通的时候可以把request0226.csv重命名为request0226.txt
使用命令行的方式发送压力:
命令行压测命令:
apache-jmeter-5.5/bin/jmeter -n -t test.jmx -l t2.jtl
带输出报告的:
apache-jmeter-5.5/bin/jmeter -n -t test.jmx -l t2.jtl -e -o /home/username/result
-n 非gui方式运行jmeter
-t :jmx 脚本路径
-l :result.jtl 运行结果保存路径,注意:.jtl 文件名不能重复,文件夹需要存在
-e :在脚本运行结束后生成 HTML 报告
-o :用于存放 HTML 报告的目录,文件夹需要存在
其中test.jmx是在jmeter GUI用户界面保存的计划生成的。