(一)从CSV文件读取要批量输入的变量
1.使用组件:配置元件->CSV Data Set Config
2.组件位置:放在所服务请求前
3.组件说明:
- 文件名:指向CSV配置文件的路径(包含文件名)。
- 文件编码:CSV文件默认的编码是UTF-8。
- 变量名称:和CSV的列相对应,名称自定义(没有拿中文当变量的说法)
- 忽略首行:通常情况下,CSV的文件首行标注数据的含义,所以要设置忽略,如果不忽略的话,就从第一行来读取。
- 分割符:默认的英文逗号
- 是否允许带引号:字面意思,如果你的CSV中是有JSON数据,或者带有引号的数据,建议设为True
- 遇到文件结束符再次循环:字面意思,一般情况下读取所有数据之后就可以结束了,如果是想重复利用数据,这里可以设置为True,多次循环。(操作的数据不是线程)
- 遇到文件结束符停止线程:字面意思,配置文件读取完毕之后,就结束当前线程。(操作的线程)
- 线程共享模式:看想让这个CSV数据文件作用范围是哪里。
4.变量引用
JMeter产生变量的方式有很多种,但是引用变量的方式只有一种: ${变量名}
|
|
|
5.实例
添加变量:
引用变量:
(二)利用Cookie进行值的传递
(三)利用正则提取器/json提取器提取上一个接口的返回数据作为下个请求的输入
一、正则提取器
1、正则提取器组件说明
- 引用名称:存储匹配结果的变量名称,可以是一个值也可以是一组值
- 正则表达式:匹配的正则表达式,正则表达式里面可以有多个正则
- 模板:正则表达式提取器类型,样式为:$n$,模板可自由组合,拼接组成新的字符串内容。
- 模板为$0$,则为整个表达式匹配到的内容;
- 模板为:$1$,则对应正则表达式中的第一个小括号内()匹配的内容;
- 模板为$2$,则对应正则表达式中的第二个小括号()匹配的内容;
- 模板为$1$$2$,则把2个()所匹配的内容拼接起来,$1$aa$2$拼接两个变量的内容,并在中间加上aa
- 匹配数字:-1代表取全部数据,0代表随机取值,1代表取第1个数据,2代表取第2个数据
- 缺省值:找不到匹配时的值
2、实例
①添加组件
②设置组件
③引用变量
二、json提取器
1.json提取器组件说明
- 变量名:存储提取的变量名字
- Json Path Expressions:Json Path 表达式
- Match Numbers: 匹配的数量,0代表随机获取,1代表获取第1个数据,-1代表获取所有数据
- Compute concatenation var (suffix_ALL):是否统计所有,即将匹配到的所有值保存为变量_ALL。
- Default Values: 没有匹配值时的提示信息
- Json Extractor 提取到的值会存储在变量里,使用方法和普通变量一样,通过${}引用Json Extractor 的变量即可。Json Extractor存储的变量名是基于提取器中变量名称扩展的,建议通过添加DebugSampler获取Json Extractor实际存储值的变量名。
2.实例
①目标数据
②添加组件
③配置组件
④引用参数
同线程引用
跨线程引用
1. 传递变量说明
1.1 传参方式
现在大家在用自己公司的接口做操作的时候需要传递token,很不方便,所以把传递token的打卡提到前面,可能有点难度,慢慢来,有问题留言或者到星球提问,需要用到beanshell解释器
1.1.1 内置变量
|
|
|
|
|
|
|
|
|
1.1.2 函数助手
|
|
|
|
1.2 传参形式
1.2.1 同线程组
|
|
|
|
|
1.2.2 跨线程组
|
|
|
|
|
|
|