简介:
Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的结果数据是否和预期值相匹配;并确保开发人员能够及时处理接口中的bug,进而保证产品上线之后的稳定性和安全性。 它主要是用来模拟各种HTTP请求的(如:get/post/delete/put..等等),Postman与浏览器的区别在于有的浏览器不能输出Json格式,而Postman更直观接口返回的结果。
背景:
当我们使用Postman做接口测试时,不免某些接口请求前需要获取token参数,验证请求是否有效。
问题引申:当我们获取到token后需要手动添加到请求头里面,一旦token过期了,需要重新获取token,需要手动替换请求头中的token。周而复始麻烦的很!!!
解决思路:设置Postman中全局变量,将参数返回值token设置全局变量,便于其他接口调用
Test 简介
在 postman 中封装了我们常见的断言(Tests),当然 Tests 除了可以作为断言,还可以当做后置处理器
获取当前接口的响应,传递给下一个接口
控制多个接口间的执行顺序
一、【登入接口】获取token
1.1 设置全局变量
设置全局参数,添加请求【登入接口】的请求参数
1.2 调用全局参数
二、【查询接口】并入token
2.1 【查询接口】token验证
2.2 【登录接口】中使用Tests语句自动添加环境变量
//把返回值解析成json字符串
var res = JSON.parse(responseBody)
//参数填充
postman.setEnvironmentVariable("authorization",res.value.token);
//简写
//pm.environment.set("authorization", res.value.token);
//自动设置值
//postman.setGlobalVariable("authorization",res.value.token)
发送请求运行后,再次查看【登入请求】,全局参数已自动添加token值
2.3 【查询接口】中引用参数值
引用参数值,实现每执行【登入接口】请求,完成token自动赋值替换
Tests 中常用方法
//1、设置环境变量
postman.setEnvironmentVariable("key", "value");
或
pm.environment.set("key", "value");
//2、设置全局变量
postman.setGlobalVariable("gv", "111111");
或
pm.globals.set("g", "2222");
//3、检查resonse body中是否包含某个string
tests["结果:Body matches string"] = responseBody.has("string_you_want_to_search");
或
pm.test("结果:Body is correct", function () {
pm.response.to.have.body("response_body_string");
});
//4、验证Status code状态响应码是否是某个值
tests["Successful POST request"] = responseCode.code === 200 || responseCode.code === 202;
或
pm.test("Successful POST request", function () {
pm.expect(pm.response.code).to.be.oneOf([200,202]);
});
Pre-request Script 简介
Pre-request Script是集合中请求发送之前需要执行的代码片段
请求参数中包含一个随机数或者请求header中包括一个时间戳,或者你的请求参数需要加密
一、【登录接口】请求发起前处理
使用Pre-request Script语句对密码进行加密请求
var body_json = {
"userCode" : "admin",
"passwd" : "123456"
}
pwd = body_json["passwd"] // 获取passwd的值
var pwd = CryptoJS.MD5(pwd).toString() // md5加密pwd变量
body_json["passwd"] = pwd // 设置passwd为加密后的密码
console.log(body_json)
var body_str = JSON.stringify(body_json) // converts objects to strings
pm.environment.set('request_body', body_str) // 把处理后的body赋值给参数request_body,在body中输入{{request_body}}
样例:
Pre-request Script 中常用方法
// 清除全局变量
pm.globals.unset("variable_key");
// 清除环境变量
pm.environment.unset("variable_key");
// 获取全局变量
pm.globals.get("variable_key");
//获取一个变量
pm.variables.get("variable_key");
// 获取环境变量
pm.environment.get("variable_key");
//发送一个请求
pm.sendRequest("https://postman-echo.com/get", function (err, response) {
console.log(response.json());
});
//设置环境变量
pm.globals.set("variable_key", "variable_value");
打印机连不上电脑咋回事 打印机连不上电脑怎么回事?
1.右键单击开始菜单,然后在弹出菜单中选择控制面板。 2.单击控制面板中的管理工具(如果找不到),请先将右上角的查看方法更改为小图标或大图标 3.在管理工具的窗口中选择服务 4.(0)人阅读时间:2023-06-21苹果手机出厂日期查询方法 苹果机出厂日期怎么查手机
苹果公司(Apple Inc.)作为一家全球化高科技公司,总部位于美国加利福尼亚州。2021年根据《财富》发布的世界500强排行榜名单中显示苹果公司位列第6名。其产品覆盖了Mac电脑系列、iPod(0)人阅读时间:2023-06-21word文档怎么加文本框 word文档怎么加文本框和边框
今天教的是一个 Word 中的使用技巧。 使用 Word 的时候,除了直接输入文本,经常也需要用到文本框。 有经验的宝宝可能知道,Word 中文本框的大小都是固定的。如果文字内容有删减,文本框(0)人阅读时间:2023-06-21批量查找文件复制指定文件夹 批量查找文件复制指定文件夹的方法
在工作中有时会遇到需要把别人汇总的文件或文件夹批量进行登记,如果我们一个文件一个文件复制文件名会非常麻烦耗时,下面教大家一个简单方法,就可以批量复制文件名称啦。 假如我们需要汇总班级同学的资料,(0)人阅读时间:2023-06-21摊销费用是什么 摊销包括哪些费用
摊销费用是指无形资产和递延资产在一定期限内分期摊销的费用。也指投资不能形成固定资产的部分。在企业经济运营中,按会计准则进行账..2023-06-21打印机连不上电脑咋回事 打印机连不上电脑怎么回事?
1.右键单击开始菜单,然后在弹出菜单中选择控制面板。 2.单击控制面板中的管理工具(如果找不到),请先将右上角的查看方法更改为小图标或大图标 3.在管理工具的窗口中选择服务 4...2023-06-21苹果手机出厂日期查询方法 苹果机出厂日期怎么查手机
苹果公司(Apple Inc.)作为一家全球化高科技公司,总部位于美国加利福尼亚州。2021年根据《财富》发布的世界500强排行榜名单中显示苹果公司位列第6名。其产品覆盖了Mac电脑系列、iPod..2023-06-21postman怎么用 postman怎么用post请求发数组
简介: Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求,将请求数据发送至服务端,获取对应的响应结果, 从而验证响应中的..2023-06-21