zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    USACO Milk2 区间合并
    Codeforces 490B Queue【模拟】
    HDU 3974 Assign the task 简单搜索
    HDU 5119 Happy Matt Friends(2014北京区域赛现场赛H题 裸背包DP)
    Cin、Cout 加快效率方法
    POJ 1159 回文LCS滚动数组优化
    POJ 2479 不相交最大子段和
    POJ 1458 最长公共子序列 LCS
    在阿里最深刻的,还是职场之道给我的震撼
    精细化
  • 原文地址:https://www.cnblogs.com/Ronaldo-HD/p/9560270.html
Copyright © 2011-2022 走看看