测试情景:

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

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

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

 

解决方案:

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

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

具体步骤:

1、登陆接口介绍

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

Postman 测试swagger类接口技巧的更多相关文章

  1. postman测试express restful接口

    安装express及postman var express = require('express') var app = express(); var calculation = require('. ...

  2. postman测试wsdl类型接口

    1 IP地址来源搜索 WEB 服务 接口信息 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 2  设置接口调用地址 ...

  3. postman测试REST接口注意事项

    postman在测试第三方REST接口,当POST请求内容要求为application/json时,注意要在postman中设置POST请求体类型设置为raw,然后设置其内容为application/ ...

  4. 接口文档管理工具-Postman、Swagger、RAP(转载)

    接口文档管理工具-Postman.Swagger.RAP 转自:http://www.51testing.com/html/10/n-3715910.html 在项目开发测试中,接口文档是贯穿始终的. ...

  5. postman测试接口各种类型传值

    postman测试接口各种类型传值 标签: postman测试 json串 Map 2018年01月27日 02:32:00 145人阅读 评论(0) 收藏 举报 1.Map类型或实体类类型传值,即j ...

  6. 基于postman测试接口(整套接口测试)

    基于postman测试接口(整套接口测试) 可以解决的问题 几百个接口人工测试接口过于繁杂 大多测试无法使用请求结果当参数 可以使用随机参数 支持swagger信息导入 随账号持久化保存数据 对集合一 ...

  7. Postman Postman测试接口之POST提交本地文件数据

    Postman测试接口之POST提交本地文件数据   by:授客 QQ:1033553122 本文主要是针对用Postman POST提交本地文件数据的方法做个简单介绍 举例: 文件同步接口 接口地址 ...

  8. Postman Postman测试接口之JSON结构化数据提交

    Postman测试接口之JSON结构化数据提交   by:授客 QQ:1033553122 本文主要是针对结构比较复杂一点的JSON协议数据的提交做个简单说明 举例: 用户下订单接口 接口方向 客户端 ...

  9. 使用PostMan测试WebService接口

    使用PostMan测试WebService接口 参考资料: 通过XML请求WebServer  https://blog.csdn.net/qq_33933408/article/details/53 ...

随机推荐

  1. 07.linux系统管理命令

    1.图形界面管理: 如想从图形界面切换至字符界面 输入 init 3 如想字符界面切换至图形界面 init 5 2.进程管理: kill 杀死一个进程 Kill -9 强制杀死一个进程   ›stat ...

  2. python内置函数使用

    print(abs(1)) #绝对值,正数就是自己 ",''])) #计算可迭代对象中是否为真,其中一个为假,就显示为假 print(all('')) # If the iterable i ...

  3. WPF中TextBox文件拖放问题

    在WPF中,当我们尝试向TextBox中拖放文件,从而获取其路径时,往往无法成功(拖放文字可以成功).造成这种原因关键是WPF的TextBox对拖放事件处理机制的不同,具体可参考这篇文章Textbox ...

  4. hadoop-3

    结合https://blog.csdn.net/zhangjun5965/article/details/76796998,自己过一遍感受下 public class DFSZKFailoverCon ...

  5. postman 的基础使用

    https://blog.csdn.net/fxbin123/article/details/80428216

  6. Python文件夹与文件的操作(转)

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  7. UNITY Profiler 真机调试

    1,WIFI方式, 2,ADB方式WIFI方式:数据通过WIFI在手机和电脑间传输,且手机和电脑必须在一个网段ADB方式如下:数据通过数据线在手机和电脑间传输.显然ADB方式速度快,无网段限制,比较好 ...

  8. ADO 动态链接数据库

    ADO(ActiveX Data Objects)是基于组件的数据库编程接口,它是一个和编程语言无关的COM组件系统. 下面内容转载自:http://www.vckbase.com/document/ ...

  9. 混合app开发,h5页面调用ios原生APP的接口

    混合APP开发中,前端开发H5页面,不免会把兼容性拉进来,在做页面的兼容性同事,会与原生app产生一些数据交互: 混合APP开发,安卓的兼容性倒是好说,安卓使用是chrome浏览器核心,已经很好兼容H ...

  10. JS代码注释

    1.css和js都可以使用/**/进行注释 2.html使用<!---->注释 3.单行js代码可以使用//进行注释 <!DOCTYPE html> <html lang ...