爆肝整理,Postman接口测试-全局变量/接口关联/加密/解密(超细)

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

全局变量和环境变量

全局变量:在postman全局生效的变量,全局唯一
环境变量:在特定环境下生效的变量,本环境内唯一

设置:

全局变量:

pm.globals.set("variable_key", "variable_value1");

环境变量:

pm.environment.set("variable_key", "variable_value2");

获取:

全局变量:
1、代码获取

var gl = pm.globals.get("variable_key");   // gl的值为variable_value1

2、请求参数获取 {{variable_key}}

环境变量:
1、代码获取

var en = pm.environment.get("variable_key");  // en的值为variable_value2

2、请求参数获取 {{variable_key}}

31

实现接口关联

1、json提取器

// 把返回的字符串格式的数据转化为json格式
var result = json.parse(responseBody)// 通过json对象取value值  result.token
// 把取得的result设置为全局变量
 pm.globals.set("token", result.token);   

// 为全局变量后,可以通过---获取全量变量,实现关联
{{token}} 或 pm.globals.get("token");   

2、正则表达式提取器

// match匹配
var result = responseBody.match(new RegExp(' "token":"(.*?)" '));

// 设置为全局变量  result[1]  (下标为1的值为想要的token值)
pm.globals.set("token", result[1]); 

// 为全局变量后,可以通过---获取全量变量,实现关联
{{token}} 或 pm.globals.get("token");  

加密、解密、内置/自定义动态参数

1、对称的加密方式(私钥加密)
Base64加密:

// 转为UTF-8编码格式
var  username = CryptoJS.enc.utf-8.parse(''admin'');

// 转为base64加密
var base64_username = CryptoJS.enc.Base64.stringify(username );

console.log(base64_username)// YWRtaW4K

Base64解密:

// 先解密
var username = CryptoJS.enc.Base64.parse(YWRtaW4K);

// 解密后转为utf-8格式
var new_username = username.tostring(CryptoJS.enc.utf-8);

console.log(new_username)// admin

2、非对称式加密方式(双钥加密) :
RSA加密方式:
由一个密码生成公钥和私钥,公钥加密、私钥解密;私钥加密、公钥解密

3、只加密不解密
MD5 、SHA系列

// MD5加密
var password = CryptoJS.MD5("admin").tostring().toUpperCase();  // 选择32位大写 

postman的内置动态参数:

{{$timestamp}}  //自动生成当前时间的时间戳 (不方便做断言)

{{$randomInt}}  //生成0-1000的随机数 

{{$guid}}   //生成一个GUID长字符串随机数

自定义参数:
自定义时间戳的参数

// 获取当前系统时间
var times = Date.now();

//  把获取的时间设置为全局变量
pm.globals.set("times", times);      // 使用{{times}}即可

动态参数断言:
在postman的tests页签,不能通过{{}}方式获取全局变量,只能通过以下方式获取
①获取全局变量的方式,拼接 pm.globals.get(“times”)
②globals[“times”]
③globals.times

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有不断追求进步,才能超越自己的极限;只有坚持不懈的奋斗,才能实现辉煌的人生。不管前路如何崎岖,始终相信自己的力量,勇往直前,无坚不摧!

只有不断挑战自我、超越极限的勇气与毅力,才能将梦想化作现实,让奋斗的火焰燃烧于心,努力奋斗,才能创造属于自己的辉煌人生。

以梦为马,奋斗不辍;困难会消融于坚持,努力铸就辉煌;每一份付出都值得,成功属于拼搏的人。相信自己的力量,超越极限,成就不凡!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/41099.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GitHub上整理的一些实用的工具

1. Visual Studio Code 简称VScode,是一个轻量且强大的跨平台开源代码编辑器(IDE),支持Windows,OS X和Linux。内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装…

谷歌Bard更新:支持中文提问和语音朗读

ChatGPT不断更新功能,从GPT-3到3.5,再到GPT-4,甚至最新的plus版已经支持图像处理和图表生成,而谷歌Bard却自从推出后就一直很安静,没有什么大动作。眼见被ChatGPT、Claude甚至是文心一言抢去了风头,自然心有…

学习Dubbo前你要了解这些

文章目录 Dubbo的发展背景单一应用架构垂直应用架构分布式服务架构流动计算架构 RPCRPC的简单原理 DubboDubbo是什么Dubbo作者Dubbo的发展历程Dubbo架构 Dubbo发音: |ˈdʌbəʊ| Dubbo官方网站:http://dubbo.apache.org/ Dubbo是阿里巴巴开发的&#…

Nginx系列之 一 反向代理

目录 Nginx系列之 一 入门_开着拖拉机回家的博客-CSDN博 一、Nginx概述 二、反向代理 2.1 正向代理 2.2 反向代理 三、反向代理实战 3.1测试服务器 3.2 配置文件说明 3.3 反向代理实战案例一 1、目的 2、具体实现 3.4 反向代理实战案例二 1、目的 2、具体实现 入…

chatglm微调

chatGML 看到 【【官方教程】ChatGLM-6B 微调:P-Tuning,LoRA,Full parameter】 【精准空降到 15:27】 https://www.bilibili.com/video/BV1fd4y1Z7Y5/?share_sourcecopy_web&vd_sourceaa8c13cff97f0454ee41e1f609a655f1&t927 记得看…

深入学习 Redis - 常用数据类型,结构认识

目录 一、Redis数据类型 Redis 数据类型结构简单认识 每个数据类型具体的编码方式 1.string 2.hash 3.list 4.set 5.zset 典中典:记数字!!! 6.查看 key 对应 value 的实际编码方式 如果本文有帮助到你,不…

DataTable数据对比

DataTable数据对比 文章目录 DataTable数据对比前言一、计算DataTable差集结构不同的情况结构相同的情况 二、计算DataTable交集结构不同的情况结构相同的情况 三、计算DataTable的并集合两个DaTable结构相同的情况计算并集 前言 开发中我们经常会出现查询数据库后返回DataTab…

SpringCloud系列(十六)[分布式搜索引擎篇] - DSL 查询及相关性算分的学习 (部分)

在SpringCloud系列(十五)[分布式搜索引擎篇] - 结合实际应用场景学习并使用 RestClient 客户端 API这篇文章中我们已经对 RestClient 有了初步的了解, 并且已经将一些数据进行了存储, 但是这并不是我们学习 ElasticSearch 的目的, ElasticSearch 最擅长的…

【Policy】使用 InitializingBean 实现策略时如何避免AOP失效

使用InitializingBean实现策略模式 参考策略模式示例中的第一种实现方式.代码demo项目 不同的注入方式对AOP注解的影响 部分策略代码及测试代码 public interface TraditionOrderService extends InitializingBean {// ... } Service public class TraditionOrderServiceIm…

网络知识整合——Web页面请求的历程

Web页面请求的历程 内部涉及知识:一、准备:DHCP、UDP、IP 和以太网二、仍在准备:DNS和ARP三、仍在准备:域内路由选择到DNS服务器四、Web客户-服务器交互:TCP和HTTP五、HTTP请求响应格式Requests部分Responses 部分 下载一个Web页面…

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏 分享 转发到动态举报 写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>> 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 microsof…

【Java项目实战-牛客社区】--idea创建springboot工程

①. 创建springboot工程,并勾选web开发相关依赖。 。配置Maven ②. 定义Controller类,添加方法 hello。 ③. 运行测试1 使用Spring Initializr方式构建Spring Boot项目 Spring Initializr是一个Web应用,它提供了一个基本的项目结构&#xff…

Redis进阶底层原理 - 高可用哨兵模式

Redis哨兵模式是redis实现高可用的一种分布式架构。哨兵节点是一种特殊的Redis实例,它不用于存储业务数据,它主要工作内容如下:(高可用不是指不出问题,而是出了问题后能及时的自动化解决,从而在客户端无感&…

IntelliJ IDEA 版本控制

IntelliJ IDEA 版本控制(VCS)日常使用方法备忘 1、搁置更改 2、移至另一个更改列表 对于工程项目中的配置文件,已经在本地修改但是不能提交,如果在提交项目代码时全选变更的文件,可能会误提交配置文件,此…

【教程】VSCode配置C++环境踩坑记录

时隔一年终于在VSCode配置好了C环境[MinGW] 基础部分踩坑坑0坑1坑2坑3 基础部分 就是安装VSCode,然后再安装C插件之类的,咱这就不罗嗦了,如果不清楚可以参考这篇文章:VSCode配置C/C环境 毕竟解决后面一些棘手的问题更重要。 踩坑…

GreatSQL通过错误日志信息判断数据库实例是如何关闭的

背景概述 在一次客户的数据库实例连接不上了,需要我们排查一下原因,通过查看数据库实例进程已经不存在了,在错误日志中没有发现其他报错信息,发现有shutdown的字样出现,怀疑是某个用户手动关闭了实例。我们通过以下测…

P1403 [AHOI2005] 约数研究

题目描述 科学家们在 Samuel 星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机 Samuel II 的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联被允许用 Samuel II 进行数学研究。 小联最近在研究和约数有关的问题&…

Python教程(3)——python开发工具vscode的下载与安装

Python的开发工具有很多款,很多都是非常好用的,其中vscode作为其中一款Python的开发工具,是非常轻量级的,今天我们来介绍一下vs code的下载与安装。 vscode的下载与安装 首先需要到vscode的官网,这个谷歌或者百度一下…

[Java]Set、Map、List常见实现类的特点、使用方法总结

文章目录 1、图谱2、List1、ArrayList1. 特点2. 常见方法 2、LinkedList1、特点2、常见方法 3、Vector1、特点 3、Map1、HashMap1、特点常用方法 2、TreeMap1、特点 3、LinkedHashMap1、特点 4、Set1、HashSet1 、特点2、常用方法 2、LinkedHashSet特点 3、TreeSet1、特点2、使…

Ajax详解

文章目录 1. 概述1.1 Ajax工作原理1.2 Ajax的作用1.3 同步异步 2. 原生Ajax3. Axios3.1 Axios的基本使用3.2 Axios快速入门3.3 请求方法的别名 1. 概述 Ajax 是 “Asynchronous JavaScript and XML”(异步 JavaScript 和 XML)的缩写。它是一种在无需重新…