接口测试中,大多接口都需要鉴权,此时就需要使用到登录信息中的token值
通过F12查看登录接口,可查看到token字段值,以下是自己整理的获取、设置及引用步骤
可以先确认是否前后端分离开发,是否被重定向,不同的实现方式可以使用不同的token提取方式
1通过请求登陆接口
请求中的IP、路径、请求参数等根据自己的实际接口内容进行填写
首先确认token位置,我这里登录接口中的uuid就是需要进行参数化的token字段
为login接口添加一个Regular Expression Extractor(正则表达式提取器),通过正则表达式获得到uuid的变量,即token,可添加一个后置处理器Debug PostProcessor查看通过正则获取的uuid是否正确
为login接口添加一个后置处理器BeanShell PostProcessor,将正则表达式内容设置为整个测试计划的全局变量,供其他接口引用该变量,(其他参数想配置全局变量同)
uuid为login接口中通过正则提取出的变量,Uuid为全局变量的名称,后续引用时使用
测试计划内的其他接口均可进行引用,添加一个>
在日常接口测试或功能测试过程中,需要把获取到的响应结果,或提取到的某个参数,传递到下一个请求,或者是传递给另外一个线程的请求,这时候就涉及到全局变量的设置,及不同线程如何传参。
${__setProperty(变量名,值} 全局变量赋值
在使用过程中,需要把线程1某个请求返回来的结果,通过正则表达式提取后,设置为全局变量
1、添加--后置处理器 -- 正则表达式
2、使用正则表达式获取第一个线程组得到的响应信息 例如:result
3、添加--后置处理器 -- BeanShell PostProcessor
设置BeanShell PostProcessor ,内容如下:
4、在线程组2中使用_p函数来调用jmeter属性,获取属性值,从而实现跨线程组,参数值传递。
${__P(变量名)} 基本等同于${__property(变量名)}
因此通过__setProperty基本上可以完成全局变量的设置,及后续参数的调用。
5、这种引用关系存在执行的先后顺序,需要在测试计划中设置执行完一个之后,再执行另一个,否则会由于不同线程之间执行时间差,导致参数无法获取到。
以上就是关于jmeter接口测试如何获取token&设置全局变量并引用全部的内容,包括:jmeter接口测试如何获取token&设置全局变量并引用、关于jmeter jdbc 查询结果怎么使用、JMeter:全局变量___setProperty跨线程传参等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)