首页 > 其他分享 >在Postman中使用Pre-request Script简单使用例子(二)——全局环境变量使用

在Postman中使用Pre-request Script简单使用例子(二)——全局环境变量使用

时间:2024-10-28 08:48:34浏览次数:7  
标签:Pre Postman get accessKey appid request 使用 var pm

本文主要介绍在Postman中Pre-request Script怎么使用全局环境变量快速进行api接口测试的方法。
需求背景:客户端调用服务端不同接口,但是接口的使用规则都是一样的,就是使用常见的ak+sk方式进行生成签名放到header当中,服务端获取签名根据约定规则进行验证签名合法性。如果是开发可以使用编写代码的方式进行接口的测试,但是如果是测试人员或者方便使用的角度来说,使用Postman更是一种好的选择。

全局环境变量配置
  1. 在postman右上角点击如下按钮
    在这里插入图片描述
  2. 点击【Add】按钮
    在这里插入图片描述
  3. 添加需要的全局变量
    在这里插入图片描述
  4. 设置一个环境变量名,这样可以方便在不同的环境使用,比如开发、测试、生产环境

编写Pre-request脚本
  • 使用pm.environment.get(“全局变量名”)获取变量值
  • 使用pm.request.headers.add在请求头添加sign
  • 脚本如下
// 获取预先设置为环境变量的 APPID 和 SECRET_KEY
var accessKey = pm.environment.get("accessKey");//可以直接赋值
var secretKey = pm.environment.get("secretKey");
var method = pm.environment.get("method");
var appid= pm.environment.get("appid");
var url = request.url.substring(request.url.indexOf("/api"));
var timestamp = new Date().getTime();

var str = method + ";" + url + ";" + accessKey + ";" + timestamp + ";" + appid;
console.log(str);

var base64Signature;
try {
    //使用sk进行加密
    var signature = CryptoJS.HmacSHA256(str, secretKey);
    //转成base64字符串
    base64Signature = CryptoJS.enc.Base64.stringify(signature);
    console.log(base64Signature);
} catch (error) {
    console.error(error);
}

var signObj = {  "accessKey":accessKey,
                 "appid":appid,
                 "secretStr":base64Signature,
                 "ts":timestamp};

pm.request.headers.add({
    key:"signature",
    value:JSON.stringify(signObj)
})

在这里插入图片描述

标签:Pre,Postman,get,accessKey,appid,request,使用,var,pm
From: https://blog.csdn.net/weixin_42027185/article/details/143264501

相关文章

  • JavaScript中reduce()详解及使用方法
    reduce()方法接收一个函数做为累加器,数组中的每一个值(从左到右)开始缩减,最终计算为一个值,下面这篇文章主要给大家介绍了关于JavaScript中reduce()详解及使用方法的相关资料,需要的朋友可以参考下reduce():reduce()方法为归并类方法,最常用的场景就是,计算数组中的每一项的总和。r......
  • RabbitMQ之Java客户端的使用
    一、前言RabbitMQ支持多种语言访问,本次介绍RabbitMQJavaClient的一些简单的api使用,如声明Exchange、Queue,发送消息,消费消息,一些高级api会在后面的文章中详细的说明。二、项目实战1.引入依赖<dependency><groupId>com.rabbitmq</groupId><artifa......
  • 三角形判断问题之:while循环的使用
    描述KiKi想知道已经给出的三条边a,b,c能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。输入描述:题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。输出描述:针对每组输入数据,输出占一行,如果能构成三角......
  • 深入理解Docker,从入门到精通-Part1(基础使用)
    一、Docker基本概念Docker架构基本组件的介绍DockerClient是用户界面,它支持用户与DockerDaemon之间通信DockerDaemonDocker最核心的后台进程,运行于主机上,处理服务请求Dockerregistry是中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份DockerConta......
  • 13 Docker容器单机网络架构全攻略:使用自定义桥接的实践与探索
    文章目录Docker容器单机网络架构全攻略:使用自定义桥接的**实践与探索**五使用自定义docker桥接网络5.1重新创建新的容器5.2重新创建新的容器,并且指定网络5.3docker网桥切换Docker容器单机网络架构全攻略:使用自定义桥接的实践与探索五使用自定义do......
  • 异步游戏环境下该如何使用强化学习算法进行训练
    在使用强化学习算法进行训练时默认的都是使用同步的游戏环境,即agent手段environment的一个observation后environment是不继续向下执行的而是等待agent返回执行动作后再继续执行的,这种agent和environment在运行时保持着同步串行方式的运行模式则是同步游戏环境,而如果environment发......
  • 如何使用卷积神经网络(CNN)进行图像识别
    卷积神经网络(CNN)是一种强大的深度学习技术,用于图像识别任务。如何使用CNN来进行图像识别,包括:1、数据准备;2、网络架构设计;3、训练过程和应用实例。在使用CNN进行图像识别之前,首先需要准备好训练数据。这包括收集并整理具有标签的图像数据集。一、数据准备在使用CNN进行图像识别......
  • 使用LM Studio在ZBlog基于大模型原创文章上稿进行SEO优化
    在当今内容创作需求日益增长的背景下,如何高效地进行文章生成与发布,成为众多开发者关注的焦点。通过结合Python脚本与ZBlog平台,能够实现从分类与标签的自动化管理,到文章生成与发布的一整套流程。本文详细讲解了如何进行自动化文章生成与发布的基础配置、项目搭建与实际应用,......
  • 鸿蒙跨设备协同开发08——使用分布式数据对象接续应用
    如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。1、前言本文是基于鸿蒙跨设备协同开发07——动态控制应用接续的进一步讨论。我们在鸿蒙跨设备协同开发06——应用接续中有提到:为了接续体验,在o......
  • 使用Gitlab-Runner docker模式
    使用Gitlab-Runnerdocker模式runner服务器需要安装docker服务使用docker安装gitlab-runnerdockerrun-d--namegitlab-runner--restartalways\-v/srv/gitlab-runner/config:/etc/gitlab-runner\-v/var/run/docker.sock:/var/run/docker.sock\gitlab/gitlab-run......