Postman安装
版本:
- chrome插件版
- app版
双击安装包即可,无需选择安装地址。
测试工具页面
- HTTP Request:可以新建请求。模拟客户端请求。
- collection:可以创建测试集合,对接口请求统一管理。
- Enviroment:创建或添加接口请求中使用的环境变量。
- API Documentation:可以创建API文档,对文档进行统一管理。
- Mock Server:创建mock服务器(模拟请求的服务器)、监控器(专门用于监控测试中的数据)。
最主要的请求方式:get、post
1) Get请求:有参数的get请求和无参数的get 请求。
2) Post请求:都是有参数的请求。
- get请求没有参数的。
1.响应结果是一个网页实体的请求。
- 响应结果是一个实体的数据(JSON格式的)
- 有参请求将参数写在params中
百度翻译接口测试案例 (API详情见官网:https://api.fanyi.baidu.com/doc/21)
接口地址:http://api.fanyi.baidu.com/api/trans/vip/translate
- 请求方式:get
传递参数:
q:hello word
from:auto
to:wyw
appid:20210527000844633(密钥:JY5w59vlIfFyQyzXuZrj)
salt:9993
sign(appid+q+salt+密钥):将(20210527000844633hello word9993JY5w59vlIfFyQyzXuZrj)进行MD5加密,保证被加密的字符串格式为UTF-8.
加密网站:https://md5jiami.bmcx.com/
Sign的值为: 504fa1cc9cb7788c088af70765a75eea
结果:
如果需要修改翻译内容的时候,则需同步修改sign,然后生成新的sgin用于接口测试。
Post有参请求
- 将参数写在body中
- 请求方式:post
传递参数:
q:hello word
from:auto
to:wyw
appid:20210527000844633(密钥:JY5w59vlIfFyQyzXuZrj)
salt:9993
sign(appid+q+salt+密钥):将(20210527000844633hello word9993JY5w59vlIfFyQyzXuZrj)进行MD5加密,保证被加密的字符串格式为UTF-8.
加密网站:https://md5jiami.bmcx.com/
Sign的值为: 504fa1cc9cb7788c088af70765a75eea
如果Post请求中,没有要求参数的组织形式,则默认使用form-data(表单数据)
参数化运行
-
参数化:即将常量的数据变成变量。设置参数文件(postman支持text,csv.)
例:以百度翻译API接口测试为例进行,将目标语言设置为参数(变量),实现参数化
1):先设置一个数据文件。
2):将postman中,需要进行参数化的请求参数的value值,设置为”{{tar_lan}}“,其中tar_lan只是参数化过程中的变量名称(可以自定义)(在此,符合python的变量名定义规则)。
3):在Postman的runner模块中,使用外部文件和变量进行对接。- 第一步:选择目标集合(文件),该集合必须是被参数化请求所在的集合。
- 第二步:设置循环次数。一般情况下,有多少个参数(数据文件中的数据),就循环多少次。
- 第三步:设置请求之间的时间间隔,以防止出现间隔太短导致的请求失败。(只要间隔是受管理的,则不是系统的缺陷)。
- 第四步:选择数据文件,将文件和脚本的变量参数进行对接。同时确定数据文件的格式。还可以提前预览参数运行的形式和变化。
Postman中的断言
什么是断言:简而言之就是判断,在自动化测试中,断言是非常重要的一项工作,让程序自动的对结果中的某些内容进行判断。
- 在Postman中,tests模块就是对HTTP响应结果进行判断的地方。
- 以https://www.hao123.com/为例:选择Response time is less than 200ms
JSON断言
如果键值对在列表中则需设置下标javaDate[0]列表名.key值。
Postman中 form-data、x-www-form-urlencoded、raw、binary的区别
1)form-data 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
2)x-www-form-urlencoded 就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=java&age = 23
3)raw 可以上传任意格式的文本,可以上传text、json、xml、html等
4)binary 相当于Content-Type:application/octet-stream,从字面意思得知,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以,一次只能上传一个文件。
Postman中的其他技术
Postman发送JSON格式的请求数据
- post需要设置Request body中的参数:
1.Raw:提供了多种Raw类型,如html、json格式等。
2. 设置为抓取报文的Content-type类型对应的参数格式即可。
3. 直接按请求体格式来进行内容发送。