Postman测试实例

发表于:2019-8-01 11:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Longtimeno_fedb    来源:简书

  我这以一个教管系统为例,有如下功能:
  课程管理
  老师管理
  培训班管理
  培训班期管理
  课时管理
  学生管理
  现在提供的课程管理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
  这个时候就发布了,这个网址就是任何人都可以看的。
  感兴趣的可以自己操作下。

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号