JMeter 配置全局变量及动态获取用户校验并添加到HTTP Header


 

对于测试脚本,可能换多个环境进行测试,如果每次换环境都要给每一个请求配置ip和端口有些多余,于是可以通过配置全局变量,解决该问题,实现一次修改即可。
创建Bean Shell Sampler:
在这里插入图片描述
配置全局变量:${__setProperty(url,192.168.4.98,)}
在这里插入图片描述
完成全局变量的配置后,使用${__property(url)}进行引用

接下来是token的动态获取配置,在此之前有一个坑:在请求token时要为其加一个HTTP Header,配置媒体格式,不然请求会报media error。
在这里插入图片描述

访问登录校验的接口,获得token:
在这里插入图片描述
在结果树中可以看到返回的token信息:

{"token":"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJJZCI6IjAiLCJuYW1lIjoi566h55CG5ZGYIiwicm9sZXMiOiJbMSwgMiwgM10iLCJleHAiOjE1Njg4OTExODl9.i95Z3T4Z8yfqWAvllmfi1-kypQOJkCd-BVvKzDvhsrAupy1F_tiQNqu53NB_1O2AXfPIgxxEtLNoovN6MYZV1ILGUy2lCAWH3nL3Iz8AApY8jgGxdII8Ap9RlE0O5lViXITSGZctcEosn0_kHGd6Ls-xIVHMB1b06_V0PMmKwfc"}

添加一个Regular Expression Extractor 使用正则表达式获取token:
在这里插入图片描述
在这里插入图片描述
再为之后要执行的请求加一个同级的HTTP Header即可,通过${token}获得token
在这里插入图片描述

 
 
 
===================================================== 方法二==================================================================

jmeter设置全局变量与正则表达式提取器

接口测试中,很多接口都要带上登录后的token才能正常发送请求,这里记录一下登录获取token设置为全局变量供其他接口使用

登录后返回信息信息中会有一个token值,添加后置处理器中的正则表达式提取token,然后用后置处理器中的BeanShell PostProcessor设置token为全局变量

1、获取token值:

  1.1、用fiddler抓包

  1.2、F12查看接口信息

  1.3、用jmeter登录查看

 

2、正则表达式提取token:

 3、BeanShell PostProcessor设置token为全局变量:

4、其他接口使用该全局变量:

添加http信息头管理器

 

正则表达式提取器提取多个值

下一个接口的参数中需要用到前面某一接口返回数据中的值,因此通过正则表达式提取器来取得该值

$1$,$2$,$3$ 表示同时匹配第一个,第二个和第三个模板的数据

匹配数字:这里填写1,表示每个模板值获取第一个匹配的数据

${id_g1}获取第一个模板匹配到的数据 

${id_g2}获取第二个模板匹配到的数据

${id_g3}获取第三个模板匹配到的数据

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM