Postman是一款功能强大的网页调试与发送HTTP请求的工具,通过它可以发送任意类型的HTTP请求,比如GET
,POST
,HEAD
,DELETE
,还支持不同的认证机制,比如basic
,digest
,OAuth
。本文主要介绍PostMan中HTTP消息,测试用例的3A原则以及变量
HTTP消息
HTTP消息,即数据的交换方式有请求(request)和响应(response)
HTTP 请求
HTTP 请求分成GET
,POST
,HEAD
,DELETE
这四种类型,它的结构分成以下3部分
- 状态行/起始行:版本协议 + url + 其他
header
(配置信息):一长串的字符串,中间是key:value
的形式body
:请求的具体信息,比如在进行spark任务请求的时候,用的是post
类型body
中的row
来编辑具体任务,但是GET
,HEAD
,DELETE
都不需要body
HTTP 响应
HTTP 响应的结构分成以下3部分
- 状态行/起始行:版本协议 + 状态码(status code) + 状态文本(status code),其中2xx,3xx表示请求成功,4xx(请求问题),5xx(存在Bug)表示请求失败,常出现的状态码有以下几种
1)200 OK(请求成功)
2)201 created(资源成功被创建)
3)3xx 重定向,比如请求一个api之后又跳转到其他页面
4)400 缺参数
5)401 需要健全
6)403 没有权限访问
7)404 找不到资源
8)405 请求方法错误
9)500 接口存在问题
10)502 bad gate header
(配置信息):一长串的字符串,中间是key:value
的形式body
:包含状态信息,响应的结果,其中不是所有状态下的响应都有body,比如状态码为201和204的时候就没有body
3A原则
如果想要通过PostMan写测试用例,那么可以在在request模块的Test部分编辑测试用例,在response模块的Test Result部分查看,在编写测试用例的时候需要遵循的3A原则
- arrange:测试用例的初始化
- act:传不同参数来调不同接口
- assert(断言):根据response来写断言,判断实际的response结果和预期结果是否一致
接下来实现”返回状态码是200,返回以获取10条内容”的测试用例
变量
本着数据驱动的目的而不用固定常量作为参数的目的提出了变量的概念,语法格式为,变量分为本地变量,环境变量以及全局变量
- 本地变量:在sandbox中(沙箱)进行定义的变量,其中Test或者Pre-request Script中写的测试用例都是sandbox中执行的,sandbox就是 JS(Java Script)执行环境
- 环境变量:是在指定环境中定义的变量
- 全局变量:是指不在任何一个环境中的时候所调用的变量
其中从外部导入的变量值会覆盖环境变量或者全局变量的变量值