测试情景:

公司的项目接口越来越多,由于开发周期短,时间紧,缺乏接口文档,直接使用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. ssm学习的第一个demo---crm(4)

    (1)在crm系统中点击修改弹出了修改的框,这个使用bootstrap做的,然后看jsp代码,找到 用editCustomer,按Ctrl+k找到了次函数,edit.action没有,创建 (2)去持 ...

  2. day12-集合

    集合 1.什么是集合 set(集合)是一个无序不重复元素的数据集,与列表的区别1.无序的,不可以使用索引进行顺序的访问2.不能够有重复的数据. 项目开发中,集合主要用在数据元素的去重和测试是否存在.集 ...

  3. const 关键字总结

    int a; const int* p = &a; ==  int const * p = &a; 表示通过p不能修改a的值. const int a; int *p = &a ...

  4. jquery循环方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. sql中case when语句的使用

    case when语句有两种格式:简单case函数和搜索case函数. --简单Case函数CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' EN ...

  6. C# 2018.9.17

    C#的优点:1,不会有运行时崩溃,解决了C++的痛点一,难预防,难查错2,使用文件不需要包含进来,只需要using namespace即可,解决了C++的痛点二,包含复杂,路径复杂,编译复杂3,编译速 ...

  7. Linux学习笔记--vim

    Vim是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. vim的三种模式 命令模式(Command mode),输入模式(Insert m ...

  8. [PHP]对Json字符串解码返回NULL的一般解决方案

    ---------------------------------------------------------------------------------------------------- ...

  9. Mysql字段类型与合理选择

    字段类型 数值 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许 ...

  10. spark pyspark 常用算法实现

    利用Spark-mllab进行聚类,分类,回归分析的代码实现(python) http://www.cnblogs.com/adienhsuan/p/5654481.html 稀疏向量: 关于Spar ...