接口测试中,大多接口都需要鉴权,此时就需要使用到登录信息中的token值
通过F12查看登录接口,可查看到token字段值,以下是自己整理的获取、设置及引用步骤
可以先确认是否前后端分离开发,是否被重定向,不同的实现方式可以使用不同的token提取方式
1通过请求登陆接口
请求中的IP、路径、请求参数等根据自己的实际接口内容进行填写
首先确认token位置,我这里登录接口中的uuid就是需要进行参数化的token字段
为login接口添加一个Regular Expression Extractor(正则表达式提取器),通过正则表达式获得到uuid的变量,即token,可添加一个后置处理器Debug PostProcessor查看通过正则获取的uuid是否正确
为login接口添加一个后置处理器BeanShell PostProcessor,将正则表达式内容设置为整个测试计划的全局变量,供其他接口引用该变量,(其他参数想配置全局变量同)
uuid为login接口中通过正则提取出的变量,Uuid为全局变量的名称,后续引用时使用
测试计划内的其他接口均可进行引用,添加一个>
在日常接口测试中,总会遇到获取token值的情况,比如通过登录接口返回的token,使用此token作为凭据访问系统里面的其它接口,这时我们就需要获取到登录接口返回的值,把token信息提取出来,然后保存起来给别的请求使用,或者做一些其它处理。
下面的这个例子讲解,如何通过正则表达式的方法获取参数值,首先需要先了解下相关语法,之后在进行实践。下示例中,要求提取登录接口的token、userid、username、unixtime等信息,介绍用正则表达式的方式来实现,提取一个,一次提取多个。
一、正则表达式语法
()括起来的部分就是要提取的
匹配任何字符串
+ 一次或多次
? 在找到第一个匹配项后停止
例如想匹配web页面的如下部分,<title> 正则表达式例子</title> 提取语法:<title> (+)</title>
使用场景:第二个请求参数中需要加入第一个请求的返回值时;通过正则提取器可以提取第一个请求返回值中指定的字段信息并赋值在第二个接口里面。
小技巧,想要看到变量,取样器—Debug Sampler 调试器,会把变量打印出来。
二、实践例子
第一步:例如有以下登录接口,在第一个接口成功之后,需要提取token、userid等参数
第二步:在需要提取数据的接口 右击 --》添加 --》后置处理器 --》正则表达式提取器
第三步:用正则提取:响应结果种单个字段值,设置变量名,设置左右边界(+)表示匹配任意长度
第四步:查看正则表达式,提取的相关变量值
需求:要求接口返回"resultCode":10407或者"resultCode": 10000都认为断言成功。
实例 *** 作:
1、使用如下的方法可成功处理
String data = SampleResultgetResponseDataAsString();
if (dataindexOf(""resultCode":10407") != -1 || dataindexOf(""resultCode": 10000") != -1) {
SampleResultsetSuccessful(true);
}
else {
SampleResultsetSuccessful(false);
}
2、在请求下使用BeanShell断言来实现即可
以上就是关于jmeter接口测试如何获取token&设置全局变量并引用全部的内容,包括:jmeter接口测试如何获取token&设置全局变量并引用、使用jmeter做接口测试,怎么验证,核对响应结果中json的内容、Jmeter正则表达式获取多个参数实践等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)