Postman | 一分钟掌握Pre-request Script | 外部库的使用

news2024/12/25 12:39:36

简介

Postman内部提供了13种外部库,可以直接在前置请求脚本和后置请求脚本中使用,如果需要其他外部库,只需要使用如下方式引入即可:

require(moduleName:String):function → *

一些内部库使用的例子

postman可用的外部库官网列出了13种,分别为:

ajv、atob、btoa、chai、cheerio、crypto-js、csv-parse/lib/sync、lodash、moment、postman-collection、tv4、uuid、xml2js

atob

为Node.js和浏览器提供最快的JSON验证器。

atob

此外部库是个英文首字母缩写,a表示ascii格式数据,b表示binary数据。使用Buffer来模拟浏览器的atob的确切功能。它将base64编码的ascii数据转换回二进制。

btoa

atob的反向操作。同样使用Buffer来模拟浏览器的btoa的确切功能(除了它支持一些浏览器可能不支持的unicode)。它将二进制数据转换为base64编码的ascii。

chai

非常强大的BDD/TDD断言库。

cheerio

快速,灵活和优雅的库解析和操作HTML和XML。

crypto-js

加密库,兄弟篇 Postman | Pre-request Script入门级编写 中已有使用方法。

其他外部库

  • csv-parse/lib/sync
  • 提供csv的解析转换功能,比如:
const parse = require('csv-parse/lib/sync');
const responseJson = parse(pm.response.text());
  •   lodash 消除处理数组、数字、对象、字符串等的麻烦,非常适合:迭代数组、对象和字符串、操纵和测试值、创建复合函数; 
  • moment web开发的时间、时区、日期工具;
  • postman-collection Postman Collection SDK 是一个 NodeJS 模块,允许开发人员使用 Postman Collections;
  • tv4 微校验器,支持多线程校验、异步校验等,貌似github上不在维护了;
  • uuid 通用唯一标识符;
  • xml2js XML 转换成 JavaScript 对象工具,支持双向转换。 

可用的NodeJS模块

Postman 是基于 Node.js 运行时的,因此官方提供了可用的NodeJS模块:

NodeJS模块说明
path该模块提供了用于处理文件和目录的实用程序 路径
assert该模块提供了一组用于验证的断言函数
buffer用于表示固定长度的字节序列
utilNodeJS的工具类
url提供了用于 URL 解析和分析的实用程序
punycodeNodeJS 7.0.0 之后已经禁用了,未来不知道会不会被删除。此工具是由 RFC 3492 定义的字符编码方案,主要用于国际化域名。因为主机 URL 中的名称仅限于 ASCII 字符,包含 非 ASCII 字符必须使用 Punycode 方案转换为 ASCII
querystring提供了用于解析和格式化 URL 的实用程序 查询字符串
string-decoder提供了用于解码对象的 API 以保留编码的多字节 UTF-8 和 UTF-16 的方式转换为字符串 字符
stream流的处理js,NodeJS中提供了四种类型的流:可写、可读、双工、转换。
timersNodeJS提供的调度计时器
eventsNodeJS的事件驱动架构,其中某些类型的对象(称为“发射器”) 发出导致调用对象(“侦听器”)的命名事件

每个模块的用法点击模块名称进入nodejs官网,查看官方示例用法即可。


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

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

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663731.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[第一章 web入门]afr

afr_1 题目开头已经提示说是任意文件读取漏洞 所以这里还需要复习一下php伪协议php://filter 的作用 读取源代码并进行base64编码输出,不然传入的参数会直接当做php代码执行就看不到源代码内容了。php://filter即使在allow_url_fopen和allow_url_include双off情况下…

Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口

Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口 文章目录 Day21 实战篇——Jmeter接口测试之案例实战——添加线程组、添加HTTP请求、获取所有学生接口1、添加线程组2、添加HTTP请求3、获取所有学生接口3.1 Jmeter察看结果树中乱码:…

03_运行时数据区

目录 一、概述二、线程1、JVM系统线程 一、概述 二、线程 1、JVM系统线程

调用万维易源API实现天气预测

目录 1. 作者介绍2. 关于理论方面的知识介绍2.1 天气预测简介2.2 预测方法 3. 代码实现3.1 需要安装的包3.2 部分代码3.3 实验结果 1. 作者介绍 房庚晨,男,西安工程大学电子信息学院,22级研究生 研究方向:机器视觉与人工智能 电子…

【数据库四】MySQL备份与恢复

MySQL备份与恢复 1.数据库备份的分类1.1 数据备份的重要性1.2 数据库备份的分类1.3 常见的备份方法 2.MySQL完全备份与恢复2.1 MySQL完全备份2.2 数据库完全备份分类2.3 MySQL物理冷备份及恢复2.4 数据迁移DST2.5 mysqldump进行逻辑备份2.5.1 mysqldump备份数据库2.5.2 mysqldu…

基于卡尔曼滤波进行四旋翼动力学建模(SimulinkMatlab)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

下载routeview网站上的BGP更新数据

需求 给出起始时间和终止时间,从routeview网站上,下载在这两者之间的所有数据到本机,以便于进行后续的分析工作。 例如:2022.2.23 - 2022.2.26 主要流程 主流程在遍历每个月中实现 当月份小于10时,前面加‘0’&am…

算力军备竞赛白热化 “卖铲人”联想集团竞争力如何?

继微软通过OpenAI推出GPT系列、谷歌推出Bard和PaLM-E2之后,国内AI大模型也呈百家争鸣态势,年初至今,国内科技巨头几乎都发布了自研AI大模型产品,AI竞赛全面升级的背后,是全球科技巨头们对算力的争夺,作为算…

【kali学习笔记】利用第三方服务对目标进行被动信息收集

一、被动信息收集 1、概念: 信息收集的方式分为两种:被动收集和主动收集。被动信息收集方式是指利用第三方的服务对目标进行访问了解,比如Google搜索。主动信息收集方式:通过直接访问、扫描网站,这种流量流经网站的行…

Qt 中动态加载窗口(C++)

在编程中,我经常会遇见要根据用户触发按钮,动态生成窗口的情况。在此有两种方法可以动态生成窗口:一:直接在槽函数中调用窗口类。二:将 **.ui 添加到资源文件,通过 QUiLoader 加载。 现将两种方法介绍如下…

redhat 6.4安装oracle11g RAC (二)

创建一个asm Disk Group Name 组,并给一个名称ORC,并选择下面的三块盘,然后 Next错误的原因是由于磁盘数和冗余层级不匹配: 如果创建用来存放OCR和VOTEDISK的ASM磁盘组,那么External、Normal、High三种冗余级别对应的…

企业文件安全必知!掌握低代码平台的应用,事半功倍保障文件安全

在数字时代的今天,企业档案的安全变得比以往任何时候都更加重要。这些文件可能包含有关客户的敏感信息或必须始终保护的专有业务数据。但是,保护这些文件可能是一个复杂且耗时的过程,对于没有专门IT团队的公司来说尤其如此。这就是低代码平台…

组合式API【Vue3】

Vue3组合式API体验 通过一个 Counter&#xff08;自增&#xff09;案例 体验Vue3新引入的组合式API Vue2的代码&#xff1a; <template><button click"addCount">{{count}}</button> </template> <script> export default {data(){r…

SynchronousQueue的TransferQueue源码分析

QNode的源码信息分析 一行一行的分析大概内容&#xff1b;下面会省略大量的CAS操作当前节点可以获取到的next节点item在生产者和消费者下有所不同。生产者是有数据。消费者为null。waiter为当前线程isData属性是用来区分消费者和生产者的属性。值得一提的是最终生产者需要将it…

2023年我国省市县的高新技术企业数量(Excel/Shp格式)

企业是经济活动的参与主体。一个城市的企业数量决定了这个城市的经济发展水平&#xff01;比如一个城市的金融企业较多&#xff0c;那这个城市的金融产业肯定比较发达&#xff1b;一个城市的制造业企业较多&#xff0c;那这个城市的制造业肯定比较发达。 目前&#xff0c;在城…

Android 13(T) - Media框架 - 异步消息机制

由于网上已经有许多优秀的博文讲解了Android的异步消息机制&#xff08;ALooper/AHandler/AMessage那一套&#xff09;&#xff0c;而且流程也不是很复杂&#xff0c;所以这里将不会去讲代码流程。本篇将会记录学习过程中的疑问以及自己的解答&#xff0c;希望可以帮助有同样疑…

机器学习——感知机模型(手动代码)

感知机&#xff0c;应该是很简单的模型了 1. 建立模型 感知机的模型&#xff0c;是一种多元线性回归符号函数的二分类模型。 多元线性回归函数&#xff1a;【Z &#xfeff;&#xfeff;&#xfeff; W T X W^{T}X WTX】 符号函数&#xff1a; y sign(Z) 1&#xff0c;当y…

vulhub-struts2-S2-008 远程代码执行漏洞复现

漏洞描述 影响版本: 2.1.0 - 2.3.1 漏洞原理 S2-008 涉及多个漏洞&#xff0c;Cookie 拦截器错误配置可造成 OGNL 表达式执行&#xff0c;但是由于大多 Web 容器&#xff08;如 Tomcat&#xff09;对 Cookie 名称都有字符限制&#xff0c;一些关键字符无法使用使得这个点显得…

JAVA-IO流实践操作

什么是IO流&#xff1f; I&#xff1a;Input O&#xff1a;Output 通过IO可以完成硬盘文件的读和写。 流是一连串连续动态的数据集合。可以理解为是我们在内存和硬盘之间进行文件读写的一个管道。抽象的一个概念。我们可以看成是一个管道&#xff0c;我们输入的数据要从管道…

C语言编程—强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如&#xff0c;如果您想存储一个 long 类型的值到一个简单的整型中&#xff0c;您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型&#xff0c;如下所示&am…