Postman-APIs是干什么的?

最近用postman探索接口自动化,发现里面的APIs这个模块,很少用到,平常都是直接在Collections模块创建请求就完事了。但是想做自动化时,发现需要先把接口定义出来,基于接口创建用例,这样直接用Collections就显的很不方便,于是,研究了一下APIs的用法。

APIs模块,可以对API进行定义,基于API,创建测试集合,进行测试。

 

官方文档:Generating server code | Postman Learning Center

创建API

 

 

填写API名称和版本。

 

API定义

 

Defining an API Specification | Postman Learning Center 

在API定义页面,对API进行定义。

 文档

document页面为API文档。

产生服务端代码-Generating server code 

使用这个模块,可以基于API创建服务端的代码。

选中接口版本,点击code generation

 

 选择语言如Java/Python

点击generate code,即可生成zip文件。

我这里基于示例API生成了一个Python代码,可以看到,这里基于route,请求方法,创建了一个获取宇宙飞船id的方法。

 测试API-Testing an API

 在这个模块,可以基于API tests创建集合Collection,也可以进行CICD持续集成。

可以添加新的或者已存在的test

1、创建新的test-输入名字,并进行配置。

 创建之后,会生成一个Collection

 并且这个测试会链接在对应API下面

 

2、选择存在的test

直接选择已存在的Collection添加为这个API的test

 进行CI集成

CI Integrations | Postman Learning Center

 

 部署API

看着没什么用,有兴趣自行研究。

部署 API 概述|邮差学习中心 (postman.com)

 监控API

在这个模块,对API的性能进行监控,可以基于已有的集合监控器或者添加新的监控器,也可以连接uptime monitor。

Observing an API | Postman Learning Center

 

分享API

 填写分享信息和 角色

Managing and sharing APIs | Postman Learning Center 

 Mock server

关于mockserver的使用方法,之前写过一篇文章

http://t.csdn.cn/Em3gB

官方文档:设置模拟服务器|邮差学习中心 (postman.com) 

postman里可以有多种入口创建mock server,比如点击左侧的菜单mock server,直接基于某个集合创建mock,

 

 点击new创建

 在API的概述页面创建

基于集合创建

 会生成url

 

 

在集合的右侧,可以看到集合的mock server

使用模拟URL,您可以立即开始发出请求。确保要模拟的请求至少添加了一个示例

 

 

如图,每一个为一个example,添加example后,为example设计参数和响应。

首先将mock的URL设置为环境变量baseUrl,填写下面的example

 

发送请求时,mock就会基于这些参数,来给出你设计的响应。如图,向这个get路径发送参数,收到来自模拟服务器的预期响应

 

 免费账户每月可以创建的mock server是有数量限制的。

针对每一个example发送请求并保存请求,最后保存的请求,就是一条条测试用例。

后续API开发好后,直接更改环境URL,即可run collection进行测试。

使用动态变量生成随机数据

在本演示中,您在示例中定义了模拟服务器要返回的数据。但是,在某些情况下,您可能希望模拟服务器返回包含随机数据的响应。

要让模拟服务器返回随机数据,请在示例的响应正文中使用动态变量。动态变量作为模拟服务器响应的一部分进行解析,并替换为随机数据。动态变量对于在模拟 API 时生成随机数据非常有用,您可以使用它们进行探索性测试和编写丰富的数据驱动测试。

例如,示例的响应正文可能包含动态变量,如下所示:

{
    "name": "{{$randomFullName}}",
    "userName": "{{$randomUserName}}",
    "location": "{{$randomCity}}",
    "company": "{{$randomCompanyName}}",
    "jobTitle": "{{$randomJobTitle}}",
    "updatedAt": "{{$timestamp}}"
}

 

调用模拟服务器终结点时,响应数据将更改为如下:

{
    "name": "Cielo McClure",
    "userName": "Aurelie.Lockman",
    "location": "Kubhaven",
    "company": "Runolfsdottir, Bernhard and Hodkiewicz",
    "jobTitle": "Direct Branding Liaison",
    "updatedAt": "1565088856"
}

postman还可以很多其他功能,感兴趣可以自行研究。

 

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值