前言:
本文分为上下两篇,讲述如何使用Postman来进行接口测试,从第一个接口测试到后面慢慢进阶,最终达到熟练使用Postman的程度,可以极大程度地提高工作效率哦~~
下载地址:https://www.postman.com/downloads/
一、第一个接口
① URL表单格式请求
请求方式:Post
Post请求格式:application/x-www-form-urlencoded
响应格式:application/json
参数名称 | 参数类型 | 是否必填 |
---|---|---|
phone | 文本 | 是 |
areaCode | 文本 | 是 |
verifyCode | 文本 | 是 |
Body
返回数据
② JSON格式请求
请求方式:Post
Post请求格式:application/json
响应格式:application/json
参数名称 | 参数类型 | 是否必填 |
---|---|---|
pageSize | integer | 非必须 |
pageNum | integer | 非必须 |
Body
返回数据
③ 跑一次批量
操作步骤示意图根据步骤跑批量操作步骤:
1、点击 ①(New Collection)创建一个包括用户和新增订单接口的collection
2、点击 ②(小箭头)弹出新窗口
3、点击 ③(Run)可跳转至 Collection Runner
执行结果操作步骤:
1、确认Collection里的接口是否正确
2、确认环境(Environment)是不是自己等下要跑的,然后确定要跑的次数(Iterations)
3、勾选需要跑的接口
4、点击 Run 按钮,跑起来~
响应结果说一下:
1、0 passed 和 0 failed 指的是断言结果的成功和失败数,这里没有做断言,因此都是0;
2、绿色方块代表接口跑通啦~
3、这页面不仅是用来跑批量,需要同时跑几个接口也可以用哦
说一下:
1、没写断言也可以看执行结果是否符合预期;
2、点击接口弹出菜单,可以根据 Response Body 来判断结果是否符合预期。
二、设置变量
目的:可以在不同的环境下,跑相同的接口,或者在不同的接口里,使用相同的参数值
设置方式主要有:
· 设置全局变量
· 设置环境变量
· Tests设置变量
① 全局变量
1、点击该按钮进入设置变量页面
2、点击Globals进入全局变量设置页面
3、设置成功后点击Save保存
4、点击小眼睛就可以看到刚刚设置好的全局变量了
下面说两句:
1、全局变量应用于全局,包括collection和单接口;
2、collection里的变量的取名不要重复,postman会优先使用全局。
② 环境变量
1、点击 Add 按钮可以配置不同的环境,中英文均可
2、点击下拉菜单可以随便切换自己去需要的环境
③ Tests设置变量
通过Tests,先把接口的返回结果设置成环境变量,然后后续接口就可以通过环境变量的值进行关联,来看看操作步骤吧~
1、正式环境里还没有任何变量
2、Tests 设置断言
//获取响应数据json对象
//使用var关键词,定义一个变量Data,用来接收接口的返回结果
var Data = pm.response.json();
//从响应数据提取出sid
var test = Data.sid;
//设置sid
pm.environment.set("sid",test);
3、执行之后可以看到正式环境里拿到了登录接口的sid了
三、Tests断言
· Response body:Contains string(校验返回结果中是否包含某个字符)
· Response body:Is equal to a string(校验返回结果是否等于该字符串)
· Response body:Json value check(校验返回结果中某个字段值是否等于某个值)
· Response header:Contet-type header check(校验响应头是否包含某个值)
· Response time is less than 200ms(校验返回结果是否少于200ms)
· Status code:Code is 200(状态码是否等于200)
① 常用断言
Response body:Contains string:
1、先执行一遍接口,看看能否跑通;
2、Tests 页点击其中一个断言;
3、Body matches string 里填匹配后返回的字符串;string_you_want_to_search 里填需要匹配的字符串;
4、如果输入的字段不存在于接口里,则会报错。
Response body:Json value check:
1、需要修改的地方有两个,value 和 eql(100);
2、确保需要匹配的字段名和字符串与接口内容一致;
3、执行后查看结果。
Response body:Contains string:
1、要检查的响应头指的是头部信息,而不是里面的值;
2、响应头的信息必须与接口显示的一致才会断言成功。
3、没有举例的断言用法都差不多,就不赘述了哈~
网友评论