接口参数化、返回值传递

文章介绍了接口测试中如何进行参数化,包括存储上一个接口的返回值为全局变量,并在后续接口中使用。还讲解了如何利用正则表达式提取器从登录接口的响应中提取token值,并在其他接口中引用。此外,提到了自动化测试的学习资源。
摘要由CSDN通过智能技术生成

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

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

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

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

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

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

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

具体操作流程

  1. 发送接口成功、接收响应数据

获取响应报文中的json数据

var json = JSON.parse(responseBody); 

设置全局变量

pm.globals.set("appId",jsonData.data.appId);
pm.globals.set("scene",jsonData.data.scene);
  1. 先运行第一个接口、将环境变量的值保存

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

用{{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 1 1 表示取第一个正则表达式的值,多个正则时用 1 1 1, 2 2 2

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

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

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

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

学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

在这里插入图片描述

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值