美文网首页
Postman测试实例

Postman测试实例

作者: 自如_ | 来源:发表于2019-03-19 18:14 被阅读0次

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

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

    现在提供的课程管理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测试实例

          本文链接:https://www.haomeiwen.com/subject/mwqquqtx.html