• Postman 测试swagger类接口技巧


    测试情景:

    公司的项目接口越来越多,由于开发周期短,时间紧,缺乏接口文档,直接使用swagger记录所有接口信息。那么:

    1. 我们如何更快的测试动辄300+数量的接口,如何分组管理和维护这些接口?

    2. 接口中需要随机函数,传参,为了安全需要token, cookie,Authorization等认证,如何解决?

     

    解决方案:

    1、下载Postman 工具,自行百度。

    1、在登陆接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值为登陆接口访问成功后,在responseBody中的token值,如何设置请看下面具体描述。
    2、访问其他接口时token值直接读取变量即可。Postman里面获取变量的语法为:{{变量名}}
     

    具体步骤:

    1、登陆接口介绍

    如图所示,login接口返回值JSON格式大体为:
    1 {
    2     "code": 200,
    3     "data": "eyJhbGciOiJIUzUxMiJ9.eyJhdXRoZW50aWNhdGlvbiI6Y2hlbm1lbmdxaSIsImV4cCI6MTUzNTY1oqCA",
    4     "message": "SUCCESS"
    5 }
     
    返回值中有token值, 这个值怎么在访问login接口后自动设置为Postman环境变量呢?
     
    2、在访问login接口后自动设置为Postman环境变量
    在Postman软件的Tests中写以下代码,设置环境变量
     
    1 pm.test("Status code is 200", function () {
    2     pm.response.to.have.status(200);
    3 });
    4  
    5 // 把responseBody转为json字符串
    6 var resp= JSON.parse(responseBody);
    7 // 设置环境变量token,供后面的接口引用
    8 pm.environment.set("token", resp.data);

    如下图所示:

     

    点击右上角的眼睛按钮,可以自己添加环境,运行了上面接口之后就会发现:

    3、访问其他接口,环境变量token

    如图红色标注的所示
    1、Url填另一个接口
    2、TYPE中选择token的类型,我这里用到的是 Bearer Token
    3、右边红色标注的部分设置token值,格式为:{{token}},获取前面login接口访问时动态设置的token,
    那么这个接口就可以用了
     
    点击Send会访问成功。

    问题解决二: 一键导入swagger

    打开postman ,然后点击左上角的import,在Import from link中填入公司的swagger地址 (使用f12,选择下图的value,复制下来)

     这样你就能在collections 里面看见整个项目的接口了。

    扩展: postman自带的函数

    PostMan 除了提供环境变量和全局变量外,还提供了三种随机数。
    {{$guid}}
    :添加一个V4风格GUID

    {{$timestamp}}
    :将当前的时间戳,精确到秒

    {{$randomInt}}
    :添加0和1000之间的随机整数

     

    postman可以批量执行,不过从swagger导出来的api是没有参数的,需要自行为每一个接口填入合适的参数并点save保存,后续可以使用。

    自动生成脚本: 脚本可以放在python编辑器然后正常输出

     验证接口:(postman提供了很多的验证方法,点击即可使用,要验证的值代替蓝色的参数值)

    缺点:Postman 作为工具在自定义函数(函数有限),参数传递(不是任意地方都可以调用)方面还是有限制。测试报告也不算好看。文件夹导出之后只有一个json文件,不方便二次操作。

    所以接口自动化我在这边选择了python脚本,下次再介绍。

    关于postman函数的高级用法可参考: https://blog.csdn.net/sd7o95o/article/details/78141023

  • 相关阅读:
    PNG背景透明问题
    多文件上传
    Silverlight+WCF 新手实例 象棋 游戏房间列表(十三)
    Silverlight+WCF 新手实例 象棋 房间状态更新(二十)
    Silverlight+WCF 新手实例 象棋 WCF通讯基础(十四)
    Silverlight+WCF 新手实例 象棋 登陆与转向(十一)
    Silverlight+WCF 新手实例 象棋 回归WCF通讯应用登陆(十八)
    Silverlight+WCF 新手实例 象棋 棋子移动吃子(五)
    Silverlight+WCF 新手实例 象棋 游戏房间(十二)
    Silverlight+WCF 新手实例 象棋 棋子移动规则[附加上半盘限制](十)
  • 原文地址:https://www.cnblogs.com/Ronaldo-HD/p/9560270.html
Copyright © 2020-2023  润新知