一、接口相关知识

1、get请求

get请求可以直接在浏览器中访问

get请求使用postman发送时,参数写在Params中

java postman get方法如何加请求头_接口

2、post请求

1)接口文档中未指定传参类型时,可使用key-value的方式进行传参,使用方式如下:

java postman get方法如何加请求头_服务器_02


2)接口文档中指定传参类型为json时,传参时必须传json格式的,使用方式如下:

java postman get方法如何加请求头_参数化_03


3)接口中需要传cookie的,需要在headers中添加cookie

4)上传文件的接口,写完参数后,修改参数的方式为file,使用如下:

java postman get方法如何加请求头_参数化_04


form-data与x-www-form-urlendoced

form-data可以传多媒体类型的参数,而x-www-form-urlencoded不能传多媒体类型的参数

get与post
get请求一般用于向服务器获取数据
post请求一般用于向服务器发送数据
get请求无请求体,它的数据直接放在url后面
get请求传输的数据没有post请求传的参数多

http状态码
1、2开头
200:请求成功

2、3开头
301:重定向,资源(网页等)被永久转移到其它URL
302:重定向,资源(网页等)临时被转移到其它URL

3、4开头:说明是客户端的问题
401:请求要求用户的身份认证
403:服务器理解请求客户端的请求,但是拒绝执行此请求
404:请求的资源(网页等)不存在

4、5开头:说明是服务端的问题
500:服务器内部错误,无法完成请求
503:由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504:请求超时,充当网关或代理的服务器,未及时从远端服务器获取请求

二、postman的使用

1、设置全局变量

作用: 一般host都会设置成全局变量,当变化环境进行测试时,只需要修改变量的值即可,不用一个请求一个请求的去修改host的内容

1)点击右上角的小齿轮按钮

java postman get方法如何加请求头_json_05


2)点击globals

java postman get方法如何加请求头_json_06


3)添加变量名称和值

java postman get方法如何加请求头_服务器_07


4)请求中使用全局变量,格式:{{host}}

java postman get方法如何加请求头_接口_08


2、使用postman批量跑多个用例–参数化

作用: 参数化后,同一个接口需要传不同的参数时,只需要把参数写在文件中,批量执行即可,不用每次都手动去修改参数值;也用于两个接口之间有数据的传递时进行使用

1)请求中参数值需要参数化,如下图所示

java postman get方法如何加请求头_参数化_09


json传参参数化,格式如下:

java postman get方法如何加请求头_json_10


2)准备参数化的参数值文件,参数化文件中第一行需要写上参数名称,多个参数时,用‘,’进行隔开

java postman get方法如何加请求头_接口_11


3)点击postman左上角的runner

java postman get方法如何加请求头_服务器_12


4)runner界面进行设置,选择接口,上传文件,填写循环次数

java postman get方法如何加请求头_json_13


注:a、先选择文件上传后,再填写循环次数,要不然,选择文件后,会将先填写的循环次数重置为1

b、若结果中无请求结果,注意一下是否有将结果值存储(Save responses)

c、文件中有中文的,打开乱码的话,可以将文件另存为一下,编码选择utf-8即可

d、执行过程中,若参数文件中只有3行数据,循环的次数是4次的话,最后一个会报错,不会重新循环从第一个去取

e、编写的接口若没有进行save的话,执行后如图所示

java postman get方法如何加请求头_json_14


3、设置检查点作用: 对请求结果值进行断言,判断请求结果是否符合预期

1)Tests tab下添加检查点

java postman get方法如何加请求头_服务器_15


2)添加检查的时,可以从右侧列表中选择不同检查点的使用方式

不同检条件使用方式如下:

a、检查状态码

#检查请求状态码
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);}

b、获取变量

#Get a variable--获取变量
pm.variables.get("name")

#Get a global variable--获取全局变量
pm.globals.get("variable_key");

c、设置变量

#Set a global variable--设置全局变量
pm.globals.set("variable_key", "variable_value");

d、response body值的校验

#Response body:Contains string--检查请求结果中是否包含预期的值
pm.test("检查结果name", function () {
    pm.expect(pm.response.text()).to.include("");
});

#Response body:Is equal to a string--检查请求结果是否等于某个值
pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});

#Response body:JSON value check--请求结果是json串的,可以具体的针对某个Key-value进行检查
pm..test("检查id", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.stu_info[0].name).to.eql(pm.variables.get("name"));
});

三、postman常用场景使用方法

1、用例批量执行的时候,每条用例的断言的结果值不一样,需要区别断言

可以将断言结果值写在参数化的文件中,断言的时候,取变量名称进行比较
pm.variables.get("variable_key");
pm.test("检查结果name", function () {
    pm.expect(pm.response.text()).to.include(pm.variables.get("name"));
});

2、访问一个请求时,需要先登录,需要将登录请求的cookie传入下一个请求进行使用

1)登录请求的tests中,写入如下代码
var data=JSON.parse(responseBody);
var cookie=data.login_info.sign;
pm.environment.set("cookie",cookie);

2)下一个请求的headers中添加cookie变量,变量值为{{cookie}}