Postman接口测试:全局变量/接口关联/加密/解密

全局变量和环境变量

全局变量:在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}}

实现接口关联

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

相关推荐
DataLaboratory13 小时前
Python爬取百度地图-前端直接获取
爬虫·python·百度地图
Turnsole_y16 小时前
pycharm自动化测试初始化
python·selenium
weixin-a1530030831617 小时前
[数据抓取-1]beautifulsoup
开发语言·python·beautifulsoup
AI量化投资实验室17 小时前
15年122倍,年化43.58%,回撤才20%,Optuna机器学习多目标调参backtrader,附python代码
人工智能·python·机器学习
倔强青铜三17 小时前
苦练Python第67天:光速读取任意行,linecache模块解锁文件处理新姿势
人工智能·python·面试
我是华为OD~HR~栗栗呀18 小时前
华为od-21届考研-C++面经
java·c语言·c++·python·华为od·华为·面试
明月(Alioo)18 小时前
机器学习入门,无监督学习之K-Means聚类算法完全指南:面向Java开发者的Python实现详解
python·算法·机器学习
鱼鱼说测试18 小时前
Linux下运行Jmeter
开发语言·python
CodeCraft Studio19 小时前
国产化Excel开发组件Spire.XLS教程:将Python列表转换为Excel表格(3种实用场景)
开发语言·python·excel·spire.xls·python列表转excel·国产化文档开发
企鹅侠客19 小时前
基于python写的PDF表格提取到excel文档
python·pdf·excel·pdf文档表格转excel