Postman做接口测试

以一下接口为例:

接口一:创建定时任务

请求方法:post

Content-Type:“application/x-www-form-urlencoded”

路径: /php/addtaskinfo.php

调用参数: jsondata[taskname]:任务名称

      jsondata[isdisable]:任务是否启用(0:启用, 1:禁用)

      jsondata[level]:任务优先级(0-15)

     jsondata[creator]:创建任务用户

     jsondata[triggers]:触发器列表(参照下方详解)

     jsondata[commands]:操作列表(参照下方详解)

     jsondata[dirname]:任务所属目录(为空表示属于根目录)

返回数据: {“res”:”1”}

接口二:手动开始任务

请求方法:post

Content-Type:“application/x-www-form-urlencoded”

路径: /php/exetaskcmd.php

调用参数:jsondata[taskCommand]:’runtaskinfo’

        jsondata[taskId]:任务 id

返回数据: {“res”:”1”}

1.创建集合

第一步,点击New Collection,创建集合

 

第二步,输入集合名称

 

2.创建文件夹

第一步,点击集合右下角,打开集合设置

 

第二步,点击Add Folder创建文件夹,文件夹就是接口的名称

 

3.创建请求

第一步,点击文件夹右边三点

 

第二步,点击Add Request,创建请求

 

第三步,输入请求名

 4.输入请求url

选择请求方法,和请求url

 

5.输入请求体

第一步,点击Body-x-www-form-urlencoded,选择JSON格式,输入请求体

 

第二步,点击Save保存

第三步,点击Send执行

6.查看返回结果

7.点击下方响应数据Body,看到返回结果为‘1’,跟上面返回结果一致请求成功

 

8.断言:

(1)json断言,点击Tests,点击右边的Response body:JSON value check,如下图:

 

                              1

 

1代表的是测试名字,你可以把它当做成自己的测试预期结果

2代表的是字段,就是我选取res作为我断言的字段,如图1

3代表的是我2字段里面的内容,如果我实际结果res字段里面的内容跟我填的3这个地方的内容一样,那么测试成功,不一样就失败

假设有一段响应是:

{“errcode”:4002,

“errmsg”:{

“code”:200,

“msg”:”ok”}

“info”:[1,2,3,4,5]

}

如果我想获取ok,2这里就可以填写JSONData.errmsg.msg

如果我想获取5’,2这里就可以填写JSONData.info[4]

(2)包含字段,点击Tests,点击右边的Response body:Contains string,如下图:

 

1代表的是测试名字,你可以把它当做成自己的测试预期结果

2是请求响应里面包含的字段,也就是当请求响应里面包含这个字段,就断言成功

9.为了更好的展示断言结果,我们可以设置一下操作

 

1我们选择一个包含字符断言

2是一段固定代码,获取到我们请求的响应数据,responseBody是响应体类型为String,但是我们的响应体是Json格式的所以我们要把String转化为Json格式的。

3是响应数据的res字段

4实际结果与预期结果的表述我们把获取到的result放在实际结果:后面

5res字段的值,也是我们的预期结果

6最后断言后显示的结果,比较清楚

10.关联

含义:后一个请求的请求信息要用到前一个请求的响应信息,如:登录时的token信息等,接下来我们要调用手动开始任务的接口,但是请求体当中需要用到设置计划任务接口响应里面的taskId信息,所以我们将做一下关联。

在前一个请求的断言中将需要用到的响应数据全局化,做如下设置:

 

 

1是获取到taskId字段信息

2点击“Set a gobal variable“添加一个全局变量

4是获取到的taskId字段

3是给4taskId取一个全局变量名taskid,切记34不要同名

填写好手动开始任务的请求信息后,在请求需要用到的位置用{{全局变量}}‘进行参数化就可以了,记得在运行请求时先让前一个请求先运行。如下图:

 

运行结果如下:

 

运行通过,关联成功。

原文地址:https://www.cnblogs.com/1527275083gj/p/15012836.html