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

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)

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

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

图片

控制台打印的信息。

在这里插入图片描述

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Postman 是一款强大的 API 测试工具,它不仅提供了直观的界面,还支持编写和执行自动化测试脚本。在 Postman进行接口测试并不涉及具体的代码编写,但你可以通过以下几个步骤进行测试: 1. **创建请求**: - 打开 Postman,点击 "新建" 创建一个新的请求。 - 输入接口的 URL,选择 HTTP 方法(GET、POST、PUT、DELETE 等)。 2. **设置请求参数**: - 在 "请求" 部分,可以添加查询参数请求头、请求体(如 JSON、表单数据等)。 3. **发送请求**: - 点击 "发送",Postman 将会向服务器发送请求并返回响应。 4. **查看响应**: - 响应会在 "响应" 部分显示,你可以查看状态码、响应头和响应体内容。 5. **测试脚本**: - 在 "测试" 面板中,可以编写 JavaScript 代码来验证响应结果。例如,检查特定字段是否匹配预期值,或者处理自动化测试逻辑。 6. **保存和复用**: - 将测试保存为集合(Collection),方便管理和重复运行。 Postman 还支持编写预处理器(Pre-request Script)和后处理器(Test Script),它们可以在请求后执行自定义代码。然而,如果你需要编写自动化测试并集成到持续集成/持续部署 (CI/CD) 环境中,可能需要使用 Postman Collection Runner 或者更专业的测试框架(如 Jest、Mocha 等)配合 Postman Collection SDK。 相关问题-- 1. 如何在 Postman 中编写和运行测试脚本? 2. 如何在 Postman 中设置预处理器和后处理器? 3. 如何将 Postman 用作自动化测试的一部分?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值