IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Postman 正确使用姿势 -> 正文阅读

[开发测试]Postman 正确使用姿势


前言

请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i


提示:以下是本篇文章正文内容,下面案例可供参考

简介:

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验证
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自动赋值替换
引用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");  

总结

我是南国以南i记录点滴每天成长一点点,学习是永无止境的!转载请附原文链接!!!

参考链接参考链接

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 19:07:17  更:2022-04-22 19:08:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/26 21:23:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码