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

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

1、前言

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

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

2、简介

Pre-request Script

  • Pre-request Script 是集合中请求发送之前需要执行的代码片段。
  • 使用场景为请求参数中包含一个随机数或者请求 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)

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

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

控制台打印的信息。

责任编辑:姜华 来源: AllTests软件测试
相关推荐

2015-02-12 15:33:43

微信SDK

2015-02-12 15:38:26

微信SDK

2022-11-10 07:53:54

Spring参数校验

2019-12-02 21:29:45

Keras神经网络TensorFlow

2021-07-01 11:07:49

Swift 自定义操作符

2009-08-03 16:37:49

C#异常类

2010-03-01 11:10:41

WCF绑定元素

2023-11-01 08:01:04

SpringWeb容器

2021-03-16 10:39:29

SpringBoot参数解析器

2021-07-16 11:00:40

Django用户模型Python

2009-07-03 18:20:45

VSTS 2010网络

2010-10-25 16:05:07

oracle自定义函数

2024-01-05 15:28:06

鸿蒙数据同步GlobalThis

2022-08-04 18:30:59

DockerfileDocker 镜像Linux

2009-10-16 13:08:40

VB自定义类型参数

2022-07-04 10:39:24

TienChin项目自定义

2021-05-08 07:51:07

Vue框架前端

2013-06-27 11:10:01

iOS开发自定义UISlider

2023-12-04 07:27:54

SpringMVC方法

2009-12-03 10:49:32

PHP自定义异常处理器
点赞
收藏

51CTO技术栈公众号