接口参数化、返回值传递

接口参数化、在软件测试面试过程中、经常被问到:

简单的接口测试流程、多接口调用、接口之间参数传递、接口返回值的入参、接口长时间未响应怎么处理、接口用例和功能用例区别等等,在使用postman做接口测试的时候,在多个接口的测试中需要前一个接口的返回值、作为下一个接口的入参

一、在请求的时候会遇到需要带TOKEN的请求,就需要先请求一次获取TOKEN 的请求再将返回的值粘贴到下次要请求的地方,这样很麻烦

可以使用这种接口参数化的方式去处理

1、拿到上一个接口的返回值、存储到变量中

2、将返回值设置成环境变量或者全局变量 globals

3、设置下一个接口的参数形式

具体操作流程

发送接口成功、接收响应数据
获取响应报文中的json数据

var json = JSON.parse(responseBody); 

设置全局变量

pm.globals.set("appId",jsonData.data.appId);
pm.globals.set("scene",jsonData.data.scene);

先运行第一个接口、将环境变量的值保存

扫描二维码关注公众号,回复: 16344054 查看本文章

在第二个接口中引用变量、一般用{}方式取值

用{ {scene}} 和{ {appId}} 就可以取到 scene和appId的值了

如果是get请求直接在url里面{ {变量名}} 引用

Post请求当时的、在body中引用

二、正则表达式提取器

一个登录接口响应数据中的token值,

在后续的接口(比如:创建用户)中需要用到。

jmeter 登录后的响应数据:

{
 "id":167,
 "username":"laownag",
  "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InhpYW9oZWkiLCJpZCI6NzY3LCJpYXQiOjE1OTIzNjQ3OTksImV4cCI6MTY3ODc2NDc5OX0.ObD1Qr4WPpF_AZW8AR0joSKTrYArKnPoq0Fbtrhsp44"
}

在察看结果树中选择RegExpTester(正则表达式测试器),

输入提取值的正则表达式,点击Test(测试)即可查看数据是否可提取。

登录接口发送完成后、 右键添加 --> 选择后置处理器 --> 正则表达式提取器

正则表达式提取器填写的值
在这里插入图片描述

正则表达式取值: 由于取得token值在登录的响应数据中是以 “token”:" 开头,中间()填写的是正则表达式,以 " 结尾的。

正则表达式注释: 可写多个正则表达式,用逗号隔开

. 表示匹配任意字符

表示匹配一个或者多个,不可以匹配空字符
表示匹配零个或者多个,可以匹配空字符
? 表示匹配0次或1次

模板解释:1 11 表示取第一个正则表达式的值,多个正则时用1 11,2 22

匹配数字:0表示随机取值;1表示取值的第一个;2表示取值的第二个…

缺省值:如果正则表达式没有匹配到值(正则表达式写错),则使用该默认值

在需要调用的接口请求中使用 ${变量名称}

调用正则提取器设置的变量名称值

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

猜你喜欢

转载自blog.csdn.net/lzz718719/article/details/132481948