使用Postman如何在接口测试前将请求的参数进行自定义处理

2023-09-21 14:04:34

1、前言

当我们使用 Postman 进行接口测试时,对于简单的不需要处理的接口,直接请求即可,但是对于需要处理的接口,如需要转码、替换值等,则就麻烦一些,一般我们都是先手动把修改好的值拷贝到请求里再进行请求接口,这也是大多数测试人员进行接口测试时这么做的。

其实 Postman 有一个 Pre-request Script 功能,即在接口请求前测试人员可自定义编写函数等对请求参数进行处理,本篇将举例来介绍这个功能。

2、简介

Pre-request Script

1、Pre-request Script 是集合中请求发送之前需要执行的代码片段。

2、使用场景为请求参数中包含一个随机数或者请求 header 中包括一个时间戳,或者你的请求参数需要加密等。

3、示例

以作者所在的项目为示例

如图所示,是一个 POST 请求的接口,接口特点为请求值必须转码才可以请求成功,如果不转码直接请求的话,就没有返回值,从图中可以看到请求后的返回值是空白的。

图片

那么手动操作时,选中需要转码的数据,右键选择 Encode URI Component,即可把数据转码完成。

EncodeURIComponent:可把字符串作为 URI 组件进行编码。其返回值 URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

图片

转码后,再次请求,可以看到请求成功。

图片

那么不手动转码,该如何使用 Pre-request Script ?

Postman 提供了 encodeURIComponent 函数,可以直接进行转码。

那么参数值该如何定位到,使用 pm.request.url.query 的 get 方法来获取指定的参数值。

之后将原有的参数与值删除,再添加参数与转换后的值就可以了。

console.log 方法为控制台打印日志。

代码如下:

encodevalue = encodeURIComponent(pm.request.url.query.get("p")) // 将参数值进行转换
console.log("p="+encodevalue)

pm.request.url.query.remove("p") // 删除请求参数和值
console.log(pm.request.url.query)

pm.request.url.query.add("p="+encodevalue) // 添加参数与转换后的参数值
console.log(pm.request.url.query)

将已转码的参数值更改回原值后,再次执行此接口。

不需要手动转码,就可以执行成功了。

图片

控制台打印的信息。

在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!  

更多推荐

蓝牙核心规范(V5.4)10.10-BLE 入门笔记之SMP和安全性

蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总1.概述SMP是安全管理器协议,用于蓝牙低功耗系统的安全管理。SMP协议定义了配对和Key的分发过程的实现,以及用于实现这些方法的协议和工具。SMP的内容主要是配对和Key的分发,然后用Key对链路或数据进行加密。安全管理器协议(SMP)是协议栈的安全管理器组件的一部分。它支

【Android】SVGAPlayer的使用介绍

背景客户需要通过SVG来做直播场景的炫酷动画。故调用得到如下的工具库:GIthub-SVAGPlayer组装通过xml组装到项目中,然后调用提供的api实现自己的需求即可。<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://s

9月13日扒面经

文章目录2)char可以存放汉字吗3)list,map,set区别是什么4)讲一下反射5)实现反射的类6)重载和重写区别7)类加载过程8)什么时候会内存泄漏9)子父类加载顺序10)String,StringBuilderStringBuffer区别,哪些是线程安全的,哪一个快一些11)线程创建方式,你常用的是哪个,为什

从0搭建夜莺v6基础监控告警系统(一):基础服务安装

文章目录1.写在前面1.1.官方文档传送门1.2.部署环境2.服务安装2.1.基础设置2.2.安装中间件2.3.安装nightingale-v62.4.安装VictoriaMetrics2.5.安装Categraf3.部署总结3.1.安装总结1.写在前面1.1.官方文档传送门项目介绍架构介绍仪表盘黄埔营培训计划相关信息

【OpenSSL】HMAC消息认证码

HMAC消息认证码哈希运算消息码(Hash-basedMessageAuthenticationCode)与密钥相关的单向散列函数应用在SSL协议中消息是否被正确传输消息完整性消息认证算法流程密钥填充0(填充到与散列函数分组长度一致)填充后的密钥与0X36做异或ipad与消息内容组合第一次与单向散列函数进行散列计算填充

HTTP 状态码

状态码状态码英文名称中文描述100Continue继续。客户端应继续其请求101SwitchingProtocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议200OK请求成功。一般用于GET与POST请求201Created已创建。成功请求并创建了新的资源202

【Spring Boot】拦截器学习笔记

一、普通拦截器1,新建类MyWebConfig实现WebMvcConfigurer,实现addInterceptors方法@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry//不拦截哪些请求.excludePathPatter

电磁逆设计中伴随变量法的详细指南:Python在Jupyter环境下的完整演示

第一部分:电磁逆设计与伴随变量法的基础介绍1.电磁逆设计简介电磁逆设计是一种寻找最优电磁结构的方法,以实现特定的电磁响应。与传统的电磁设计方法不同,逆设计方法不是从已知的结构出发,而是从期望的响应出发,反向求解最佳的结构参数。2.伴随变量法的概念伴随变量法是一种优化技术,广泛应用于多种工程领域,包括电磁逆设计。它的核心

jsoup框架技术文档--java爬虫--基本概念

阿丹:之前使用python写的爬虫,但是现在项目的技术选型是需要使用jsoup来爬取网页的数据。那就需要重新学习一个框架。首先了解一下整体框架的基本概念。jsoup的概念JSoup是一个开源的Java库,它用于处理HTML文档,类似于一个用于解析和操作HTML的瑞士军刀。其强大的功能使得对HTML的处理变得非常容易和简

2023/09/21 day5 qt

将注册的账号密码存储到数据库中登录的账号密码与数据库中的账号密码进行匹配头文件#ifndefDENGLU_H#defineDENGLU_H#include<QMainWindow>#include<QDebug>#include<QIcon>#include<QLabel>#include<QLineEdit>#inc

大模型Tuning分类

类型总结微调(Fine-tunning)语言模型的参数需要一起参与梯度更新轻量微调(lightweightfine-tunning)冻结了大部分预训练参数,仅添加任务层,语言模型层参数不变适配器微调(Adapter-tunning)Adapter在预训练模型每层中插入用于下游任务的参数,在微调时将模型主体冻结,仅训练特

热文推荐