首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Postman测试实例

Postman测试实例

作者头像
顾翔
发布2019-12-12 13:34:55
1.2K0
发布2019-12-12 13:34:55
举报

来源:51testing

我这以一个教管系统为例,有如下功能:

  课程管理

  老师管理

  培训班管理

  培训班期管理

  课时管理

  学生管理

  现在提供的课程管理API接口文档如下

  课程管理API接口文档

增加课程接口

  用来创建一个新的培训课程

请求语法

POST /api/mgr/sq_mgr/ HTTP/1.1  Content-Type: application/x-www-form-urlencoded

  url请求参数

  无url请求参数

  请求体内容

  响应语法

HTTP/1.1 200 OK  Content-Type: application/json

  头部信息

  响应内容

  如果请求成功,返回json格式的消息体,如下所示,retcode值为0表示添加成功,id是新加课程对应的ID号

{  "retcode": 0  }

  说明

  增加课程的名称如果已经存在,则会创建失败返回结果为

{  "retcode": 2,  "reason": "同名课程已经存在"  }

列出课程接口

  用来列出系统里所有的培训课程

  请求语法

GET /api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20 HTTP/1.1  Host: restapi-teach.com  Content-Type: application/x-www-form-urlencoded

  url请求参数

请求体内容

  该请求无需指定请求内容

  响应语法

HTTP/1.1 200 OK  Content-Type: application/json

  头部信息

  响应内容

  如果请求成功,返回json格式的消息体,如下所示

{  "retlist": [  {  "desc": "初中语文",  "id": 418,  "display_idx": 1,  "name": "初中语文"  },  {  "desc": "初中数学",  "id": 419,  "display_idx": 2,  "name": "初中数学"  },  {  "desc": "初中英语",  "id": 420,  "display_idx": 3,  "name": "初中英语"  }  ],  "total": 3,  "retcode": 0  }

  retcode值为0表示查询成功。

  total 值表示总共有多少门课程信息

  retlist的内容是一个数组,其中每个元素对应一门课程信息。

修改课程接口

  用来修改一门培训课程的信息

  请求语法

PUT /api/mgr/sq_mgr/ HTTP/1.1  Content-Type: application/x-www-form-urlencoded

  URL请求参数

  无url请求参数

  请求体内容

  响应语法

HTTP/1.1 200 OK  Content-Type: application/json

  头部信息

  响应内容

  如果请求成功,返回json格式的消息体,如下所示,retcode值为0表示修改成功

{  "retcode": 0  }

 删除课程接口

  用来删除一门培训课程

  请求语法

DELETE /api/mgr/sq_mgr/ HTTP/1.1  Content-Type: application/x-www-form-urlencodedX

  url请求参数

  无url请求参数

  请求体内容

  响应语法

HTTP/1.1 200 OK  Content-Type: application/json

  头部信息

  响应内容

  如果删除成功,返回json格式的消息体,如下所示,retcode值为0表示删除成功

{  "retcode": 0  }

 7.1 Postman Collection

  我们在Postman中创建一个Collection,名为教学管理系统,对应整个API测试。其中,对于上述课程管理接口,我们可以创建几个folder,名称分别为课程管理、老师管理、培训班管理、培训班期管理、课时管理、学生管理、如下所示

  接下来我们就要在课程管理上加上对应上面文档的4个API测试。首先我们来创建新建课程的API,在右边的Builder里面打开一个标签页。方法选择POST,request url中填写

  点Save,保存到课程管理folder中。保存的时候,我们给这个请求起个容易记的名字。

  同样的,一次创建列出课程API,如下

  修改课程api,如下

  删除课程API,如下

  最终,这个课程管理的folder里面的内容如下

 7.3进行手工测试

  好了,我们填写好上面的课程管理的API后,就可以着手进行手工测试了。当然要进行手工测试。必须要先有测试用例,测试用例根据API文档来创建。可以采用条件组合、边界值,等各种方法。我们简单讲下如何编写测试用例(可根据个人风格编写),其实做接口测试,编写测试用例也是很重要的一部分,很多同学接口测试用例不知道如何下手,其实就跟我们以前写测试用例是一样的,我们这里已添加课程为例简单说一下:

  有的同学喜欢写的很详细,我们这里的接口算是简单的接口数据不多,有的接口数据是一大长串,描述的文档有时候一页都不够放,都写在测试用例里面是不是不太合适 。个人经验测试用例最好的能描述出这个东西是干什么的就行了,需要要写的特别具体,只要能让人一眼看出来知道你这个用例需要做什么事情,至于他怎么样使用什么工具不需要写进去包括具体的创建API请求的内容。写的很详细会有问题,这样的用例不但写的麻烦而且随着系统的更改,里面具体的消息格式说不定在变啊,他搞一次你用例跟着变一次会很累的。还存在一个问题如果写的很具体,一眼看去不知道你这个用例想干什么,你的用例很庞大抓不到重点。

  增加课程接口,我们设计了如下的测试用例

  我们在执行测试用例的时候,只需要是用Postman(或者其他几口测试工具)

  先调用列出课程的API接口,查看当前的有哪些课程;

  在调用增加课程API接口,查看一下当前有哪些课程

  在调用列出课程的API接口,查看下现在有哪些课程,是否包含了刚刚添加的课程的信息。

  如果我们设计了这样的测试用例

  我们在执行测试用例的时候,只需要是用Postman

  先调用列出课程的API接口,查看一下当前有哪些课程

  在调用增加课程API接口,来创建一门课程,课程名是系统中已经存在的,检查返回结果

  再调用列出课程的API接口,查看一下现在有哪些课程,是否包含了刚刚添加的课程信息。

  从上面的过程中,我们可以看出,执行手工测试时,Postman就是一个用来,帮我们发送API请求消息和接收响应消息的工具

  我们在执行的过程中,有时候还需要手工修改一下Postman API请求中的参数,接收到的消息的时候,也需要我们查看响应消息是否正确。

  Postman自动产生文档功能

  Postman里面有个功能可以产生文档,Postman注册账号登录后,根据collection里面保存的API自动生成文档。比如

  点击之后就会打开浏览器,浏览器就会打开一个网址,网址是Postman的网址,网址里面就产生了一个文档,对应的是collection里面的目录

  用这个文档的好处是,我们在Postman里面对API做任何的修改,都可以很直观的都可以在浏览器中展示出来,刷新浏览器就可以了。有的人会有疑惑,我这样生成文档有什么用啊,不是已经有接口文档了吗?有的公司就用这个,是因为有的开发人员就用Postman调试,边调试边写这个东西,等他调完了设计完了,文档就自动生成了

  现在还有一个问题,假如说你现在是开发人员,你生成了这样一个文档,但是这个文档你不能光自己看,文档要给别人看,我们可以把这个文档发布出来。刚才浏览器打开的网址是你一个人能看的,你是这个账户的拥有者是只有你自己能看的,假如说你把网址发给另一个人,另一个人不登录是没法看的,他会首先让你登录。

  假如我们要给别人看,可以点publish

  弹出的网页点击Publish Collection

  这个时候就发布了,这个网址就是任何人都可以看的。

  感兴趣的可以自己操作下。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试培训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档