jmeter接口测试提取token值为全局变量有两种常用方法:正则表达式提取器、JSON提取器。
PS:例如返回数据如下,下面的操作都根据此次返回数据进行:
{
data{
"file1": "value1",
"file2": "value2",
"file3": "value3",
"file4": "value4"}
}
一、正则表达式提取方法
正则表达式常用方法:
( ) 标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 和和。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+ 匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
$ 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
1、单个变量提取
引用名称:自定义变量名,后面其它接口需要调用该变量时使用 ${变量名} 进行调用 。
正则表达式:参考上述正则表达式编写方法编写正则表达式。
模板:正则表达式模板,固定写法。
匹配数字:填写匹配数组中第几个值N,N为整数。(注意:N=-1 或 N=0 或 N>0)
N=-1 表示全部匹配,整个数组中所有的值全部取到,后续引用用 变量名_N 取数组中第N个匹配值 ;
当N=-1时,可以使用如下方式调用数组中不同的值:
${变量名_N} :表示获取数组中第N个值
N=0 表示随机匹配,随机取到数组中任意一个值;
N>0 表示取第几个匹配值;(例如:N=1为取到数组中第一个值);
缺省值:缺省值,可以填写自己想要的值(例如:error、null等),匹配不到值的时候取该值。(PS:例如数组中3个值,如果取第四个值的时候就会因为超出数组界限无法取值,转而取缺省值。)
2、多个变量提取
引用名称:自定义变量名 。(正则表达式提取器中自定义变量名只可以设置一个)
正则表达式:参考上述正则表达式编写方法编写正则表达式。(注意:多个正则表达式之间需要用英文符号","进行分隔开。)
模板:正则表达式模板,固定写法。(注意:上面正则表达式有多少条就写多少个模板,按照$1$$2$$3$$4$...$N$ 进行依次增加,模板的顺序和正则表达式的顺序一一对应,模板与模板之间不可以带符号)
匹配数字:填写匹配数组中第几个值N,N为整数。(注意:N=-1 或 N=0 或 N>0)
N=-1 表示全部匹配,整个数组中所有的值全部取到;
当N=-1时,在其他接口中调用时可以使用如下方式调用不同模板数组中不同的值:
${变量名_N_g1} :表示获取第一个模板数组中第N个值
${变量名_N_g2} :表示获取第二个模板数组中第N个值
${变量名_N_g3} :表示获取第三个模板数组中第N个值
${变量名_N_g4} :表示获取第四个模板数组中第N个值
${变量名_N_gn} :表示获取第n个模板数组中第N个值
N=0 表示随机匹配,随机取到数组中任意一个值;
N>0 表示取第几个匹配值;(例如:N=1为取到数组中第一个值);
缺省值:缺省值,可以填写自己想要的值(例如:error、null等),匹配不到值的时候取该值。(PS:例如数组中3个值,如果取第四个值的时候就会因为超出数组界限无法取值,转而取缺省值。)
二、JSON提取方法
1、单个变量提取
names of created variables:自定义变量名,后面其它接口需要调用该变量时使用 ${变量名2} 进行调用 。
json path:json path表达式,使用 $. 表示从根目录下开始。(注意:$号后面的英文符号"."不要忘记写)
match no:填写匹配数组中第几个值N,N为整数。(注意:N=-1 或 N=0 或 N>0)
N=-1 表示全部匹配,整个数组中所有的值全部取到,后续在其他接口调用时使用 ${变量名_N} 取数组中第N个匹配值 ;
N=0 表示随机匹配,随机取到数组中任意一个值;
N>0 表示取第几个匹配值;(例如:N=1为取到数组中第一个值);
default values:缺省值,可以填写自己想要的值(例如:error、null等),匹配不到值的时候取该值。(PS:例如数组中3个值,如果取第四个值的时候就会因为超出数组界限无法取值,转而取缺省值。)
2、多个变量提取
names of created variables:自定义变量名,后面其它接口需要调用该变量时使用 ${变量名1} 或 ${变量名2} 或 ${变量名3} 或 ${变量名4} 选择对应的变量进行调用。
重要:每个变量之间使用英文符号";"进行隔开
json path:json path表达式,使用 $. 表示从根目录下开始。(注意:$号后面的英文符号"."不要忘记写)
重要:每个表达式之间使用英文符号";"进行隔开,表达式数量要和上面的自定义变量名数量保持一致。
match no:填写匹配数组中第几个值N,N为整数。(注意:N=-1 或 N=0 或 N>0 )
重要:每个数之间使用英文符号";"进行隔开,表达式数量要和上面的自定义变量名数量保持一致。
N=-1 表示全部匹配,整个数组中所有的值全部取到,后续引用用 ${变量名_N} 取数组中第N个匹配值 ;
N=0 表示随机匹配,随机取到数组中任意一个值;
N>0 表示取第几个匹配值;(例如:N=1为取到数组中第一个值);
default values:缺省值,可以填写自己想要的值(例如:error、null等),匹配不到值的时候取该值。(PS:例如数组中3个值,如果取第四个值的时候就会因为超出数组界限无法取值,转而取缺省值。)
重要:每个缺省值之间使用英文符号";"进行隔开,表达式数量要和上面的自定义变量名数量保持一致