Postman测试实例

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

  • 课程管理
  • 老师管理
  • 培训班管理
  • 培训班期管理
  • 课时管理
  • 学生管理

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

7.1课程管理API接口文档

增加课程接口
用来创建一个新的培训课程

请求语法

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

url请求参数
无url请求参数

请求体内容

参数名称 必填 说明
action 填写add_course,表明是为了创建课程
data 存储创建课程的信息,包括名称、描述、显示次序。为json格式。例如:{ "name":"初中化学", "desc":"初中化学课程","display_idx":"4"}

响应语法

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

头部信息

头部信息 必填 说明
Content-Type 正常情况下该值将被设为application/json,标识返回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请求参数

参数名称 必填 说明
action 填写add_course,表明是为了创建课程
pagenum 表示当前要显示的是第几页,目前固定填写1
pagesize 表示一页最多显示多少条课程信息,目前固定填写20

请求体内容
该请求无需指定请求内容

响应语法

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

头部信息

头部信息 必填 说明
Content-Type 正常情况下该值将被设为application/json,表示返回 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请求参数

请求体内容

参数名称 必填 说明
action 填写modify_course,表明是为了修改课程信息
id 填写要修改的课程的id号数字
newdata 存储创建修改后课程的信息,包括名称、描述、显示次序,为json格式。例如:{"name":"初中化学","desc":"初中化学课程", "display_idx":"4}

响应语法

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

头部信息

头部名称 必填 说明
Content-Type 正常情况下该值将被设为application/json,表示返回 JSON 格式的文本信息。

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

{
    "retcode": 0
}

删除课程接口

用来删除一门培训课程

请求语法

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

url请求参数
无url请求参数

请求体内容

参数名称 必填 说明
action 填写delete_course,表明是为了删除课程信息
id 填写要删除的课程的id号

响应语法

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

头部信息

头部名称 必填 说明
Content-Type 正常情况下该值将被设为application/json,表示返回 JSON 格式的文本信息。

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

{
    "retcode": 0
}

7.1 Postman Collection

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

image.png

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

image.png

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

image.png
image.png

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


image.png

修改课程api,如下

image.png

删除课程API,如下

image.png

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

image.png

7.3进行手工测试

好了,我们填写好上面的课程管理的API后,就可以着手进行手工测试了。当然要进行手工测试。必须要先有测试用例,测试用例根据API文档来创建。可以采用条件组合、边界值,等各种方法。我们简单讲下如何编写测试用例(可根据个人风格编写),其实做接口测试,编写测试用例也是很重要的一部分,很多同学接口测试用例不知道如何下手,其实就跟我们以前写测试用例是一样的,我们这里已添加课程为例简单说一下:
有的同学喜欢写的很详细,我们这里的接口算是简单的接口数据不多,有的接口数据是一大长串,描述的文档有时候一页都不够放,都写在测试用例里面是不是不太合适 。个人经验测试用例最好的能描述出这个东西是干什么的就行了,需要要写的特别具体,只要能让人一眼看出来知道你这个用例需要做什么事情,至于他怎么样使用什么工具不需要写进去包括具体的创建API请求的内容。写的很详细会有问题,这样的用例不但写的麻烦而且随着系统的更改,里面具体的消息格式说不定在变啊,他搞一次你用例跟着变一次会很累的。还存在一个问题如果写的很具体,一眼看去不知道你这个用例想干什么,你的用例很庞大抓不到重点。

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


image.png

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

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

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

image.png

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

  • 先调用列出课程的API接口,查看一下当前有哪些课程
  • 在调用增加课程API接口,来创建一门课程,课程名是系统中已经存在的,检查返回结果
  • 再调用列出课程的API接口,查看一下现在有哪些课程,是否包含了刚刚添加的课程信息。

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

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

Postman自动产生文档功能

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

image.png

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

image.png

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

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

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

image.png

弹出的网页点击Publish Collection

image.png

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

image.png

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

你可能感兴趣的:(Postman测试实例)