本文简要介绍一下,大家在登录后,获取到token,且所有接口都需要使用所获取到的token作为全局变量的方法。
1.模拟随机多个用户登录,我采用的是添加CSV文件,从该文件中获取可以登录的用户
2. 登录成功后,我们获取到了token
3.获取token后,我们需要提取token,正则表达式的相关规则这里简单介绍下:
- 引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:actionId,后面的引用方式是${actionId}
- 正则表达式:提取内容的正则表达式,相当于lr中的关联函数
【"()" 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来】
【".":匹配除了换行符以外的任何字符】
【"*"(贪婪) 重复零次或更多
例如"aaaaaaaa" 匹配字符串中所有的a 正则: "a*" 会出到所有的字符"a"】
【"+"(懒惰) 重复一次或更多次
例如"aaaaaaaa" 匹配字符串中所有的a 正则: "a+" 会取到字符中所有的a字符, "a+"与"a*"不同在于"+"至少是一次而"*" 可以是0次】
【"?"(占有) 重复零次或一次
例如"aaaaaaaa" 匹配字符串中的a 正则 : "a?" 只会匹配一次,也就是结果只是单个字符a】
【"*?" 重复任意次,但尽可能少重复
例如 "acbacb" 正则 "a.*?b" 只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而"acbacb"最少字符的结果就是"acb" 】
【"+?" 重复1次或更多次,但尽可能少重复,与"*?" 一样,只是至少要重复1次】
- 模板:用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是$2$,$3$等等,表示解析到的第几个值给actionId。例如:$1$表示匹配到的第一个值。
- 匹配数字:0代表随机取值,-1代表所有值,此时提取结果是一个数组,其余正整数代表第几个匹配的内容提取出来。如果匹配数字选择的是-1,还可以通过${actionId}的方式来取第1个匹配的内容
- 缺省值:正则匹配失败时,取的值
4.想要知道正则表达式是否正确,可以在请求后加入调试取样器,右键-添加-取样器-调试取样器
获取到的token:
5、接下来,就是如何设置为全局使用的变量了
添加信息头,其中我们使用到了jmeter中的一个函数
具体如下:
6.接下来我们来看看,全局变量是否生效了
下面每个接口中请求头中,都获取到了token,成功。
就给大家分享到这里了。谢谢