一、csv简介
csv是非常通用的一种文件格式,适用于批量导入数据到接口参数中,或者保存测试结果都可以使用csv数据文件(jmeter不仅仅支持这一种读取文件的方式),csv数据一行即为数据表的一行,多个字段用逗号隔开。
登录接口
api:post
method:post
request data:
{
"user_name":"jiujiu",
"password":"123456"//base编码
}
退出接口:
api:get
method:get
添加用户接口:
api:post
method:post
request data:
添加csv配置元件 user_csv.txt
1.1 csv数据文件格式
两种格式的CSV数据文件:txt文件和csv文件
txt文件格式
user_name,password,phone,real_name
jiujiu1,123456,18801012321,啾啾测试录1
jiujiu2,123456,18801012321,啾啾测试录2
jiujiu3,123456,18801012321,啾啾测试录3
jiujiu4,123456,18801012321,啾啾测试录4
jiujiu5,123456,18801012321,啾啾测试录5
jiujiu6,123456,18801012321,啾啾测试录6
jiujiu7,123456,18801012321,啾啾测试录7
csv文件格式
csv格式和xls或xlsx格式不一样!csv用记事本或其他文本编辑器(比如sublime)可以直接打开,xls或xlsx是二进制文件,需要用Excel才能打开
1.2 csv数据文件设置概述
● 文件名:csv文件存储全路径
● 文件编码:默认的编码是UTF-8。
● 变量名称:和csv文件第一行的字段相对应,名称自定义,多个字段用逗号分隔
● 忽略首行:通常情况下csv的文件首行标注数据的含义,不是具体的数据,所以要设置忽略(设为true),前提是设置了变量名称才生效。
● 分割符:默认英文逗号分隔。
● 是否允许带引号:如果csv文件中有json数据,或者带有引号的数据,建议设为True
● 遇到文件结束符再次循环:如果文件执行结束了想重复执行数据,可以设置为True,多次循环。
● 遇到文件结束符停止线程:配置文件读取完毕之后,就结束当前线程。
● 线程共享模式:标示这个CSV数据文件作用范围是:所以线程/当前线程组/当前线程/编辑(自定义),默认方式:所有线程。
二、 操作步骤
2.1 添加线程组
分别添加setUp线程:登录接口
普通线程组:添加用户接口
tearDown线程组:登出接口
2.2 线程组添加csv配置元件
2.3 设置csv文件
引用变量
jmeter添加变量的方式有很多,但引用变量的唯一方式:${变量名}
{
"user_name":${user_name},
"password":${password},
"phone":${phone},
"real_name":${real_name}
}
2.4 执行测试计划,查看结果树
查看结果树,可发现线程组只读区了csv第一行用户数据,如果想要读取csv所有行的用户数据,可以添加循环控制器来依次读取csv文件的数据行。
2.5 添加循环控制器
在循环控制器内添加http请求和csv数据文件
设置循环控制器-循环次数为7,表示循环控制器内的组件会循环之行7次,读取csv前7行的用户数据
2.6 重新执行测试计划,查看结果树
第7个http请求
可以看到循环控制器内的提取器执行了7次,依次读取csv文件的前7行用户数据