Post接口测试要点
-
GET请求、POST请求等按照HTTP接口测试标准
-
Requests Header 和 Requests Body按照HTTP接口标准设置
-
支持授权设置
-
支持Cookie设置、获取、删除
-
Postman提供4种变量类型
-
本地变量
-
全局变量
-
环境变量
-
数据变量
**环境变量:**旨在不同的环境,同一个变量值随着环境的变化而不同,可以应对不同开发阶段可能存在不同的环境API,比如测试环境和生产环境,dev.postman.com ,当切换到生产环境时, host 值变为: postman-echo.com ,变量引用格式为{{varname}}, 这有点类似于Jmeter的HTTP请求头默认值设置
**本地变量:**主要针对单个URL请求设置的变量,作用于只是局限在请求范围内,如请求URL如下,设置两个本地的变量,在 Pre-request-Script 里面编写如下代码:
pm.variables.set("user","51zxw"); pm.variables.set("passwd","66666");
引用格式为{{user}},{{passwd}},类似于Jmeter里面的用户参数设置
**全局变量:**全局变量指在所有的环境里面,变量值都是一样的,全局变量的作用域是所有请求。全局变量的设置有两种方式,点击界面设置和脚本设置,脚本设置代码如下:
pm.globals.set("variable_key", "variable_value");
全局变量的另外一种用法,上一个接口的返回值,作为下一个接口的参数,怎么获取:
var jsonDate=pm.response.json(); userid=jsonDate.json['userid'] console.log(userid) pm.globals.set("post_userid",userid)
**数据变量:**数据变量是通过导入外部数据文件(json或者csv文件),来获取变量数据。类似于Jmeter里面的csv数据驱动
-
-
断言
在接口测试中一般会根据响应状态码或者响应返回的数据来进行断言
Postman提供一个测试沙箱(Postman Sandbox)是一个JavaScript执行环境,可以通过JS脚本来编写pre-requests Script和test Script
-
pre-request Script(预置脚本)可以用来修改一些默认参数,在请求发送之前执行。有点类似于unitest里面的setUp()方法
-
test Script(测试脚本)当接收到相应之后,再执行测试脚本。
在pre-request Script定义变量user
pm.variabled.set("user","zxw");
在test栏下面编写如下脚本
//判断响应状态码是否是200 pm.test("Status code is 200",function(){ pm.response.to.have.status(200); }) //获取发送的参数值 username=pm.variabales.get("user"); console.log(username); //校验响应内容是否和请求的一致 pm.test("Check username",function(){ var jsonDate = pm.response.json(); pm.expect(jsonData.json['user']).to.eql(username) }); //检测响应时间是否小于0.5s pm.test("Response time is less than 500ms",function(){ pm.expect(pm.response.responseTime).to.be.below(500); });
-
-
运行Collection批量执行
-
数据驱动
- 数据导入
-
构建工作流,设置接口请求运行顺序
-
命令行执行