postman教程-14-生成随机数

领取资料,咨询答疑,请➕wei:  June__Go

上一小节我们学习了Postman关联接口的调用方法,本小节我们讲解一下Postman生成随机数的方法。

在接口测试中,经常需要向接口发送不同的输入数据,以确保接口的健壮性和可靠性。Postman内置的随机数变量功能可以帮助测试人员生成随机数据,模拟不同的用户行为和场景。这对于测试API的输入验证、错误处理、数据多样性等方面非常有用。

Postman的随机数变量可以在请求发送时动态生成数据,而不需要手动更改每个请求。这些变量可以插入到请求的任何部分,包括URL、请求头、请求体和测试脚本中。在 Postman 中,你可以使用内置的变量和函数来生成随机数,也可以自定义这些随机数。

内置随机数变量

以下是一些常用的Postman内置随机数变量及其用法:

  1. {{$randomInt(min, max)}} - 生成一个指定范围内的随机整数。

示例:https://api.example.com/users/{{$randomInt(1, 10000)}}

  1. {{$randomFloat(min, max)}} - 生成一个指定范围内的随机浮点数。

示例:https://api.example.com/orders/{{$randomFloat(0.0, 1000.0)}}

  1. {{$randomDate(format, min, max)}} - 生成一个随机日期,遵循指定的格式和范围。

示例:https://api.example.com/events?start_date={{$randomDate('YYYY-MM-DD')}}

  1. {{$timestamp}} - 生成一个当前的Unix时间戳。

示例:https://api.example.com/log?timestamp={{$timestamp}}

  1. {{$guid}} - 生成一个全局唯一标识符(GUID)。

示例:https://api.example.com/orders/{{$guid}}

  1. {{$uuid}} - 生成一个随机的UUID。

示例:https://api.example.com/sessions/{{$uuid}}

此外,postman详细的内置随机数汇总,请参考:https://blog.51cto.com/u_16213615/10230109

内置随机数的使用方法

Postman内置随机数,打开Postman,输入{{,可以看到,如图:

具体示例

自定义随机数变量

以下是一些在 Postman 中生成自定义随机数的示例:

示例 1: 生成随机整数

假设你想生成一个介于 1 到 100 之间的随机整数,你可以在 Postman 的 Pre-request Script 部分使用以下脚本:

// 设置随机数的最小值和最大值
const min = 1;
const max = 100;

// 生成一个介于 min 和 max 之间的随机整数
const randomNumber = Math.floor(Math.random() * (max - min + 1)) + min;

// 将随机数设置为一个环境变量,以便在请求中使用
pm.environment.set("randomNumber", randomNumber);

然后在你的请求中,你可以使用 {{randomNumber}} 来引用这个变量。

示例 2: 生成随机字符串

如果你想生成一个随机字符串,比如一个随机的 6 位字母数字组合,你可以使用以下脚本:

// 定义可能的字符集合
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';

// 定义字符串的长度
const length = 6;

// 生成随机字符串
let randomString = '';
for (let i = 0; i < length; i++) {
    const randomIndex = Math.floor(Math.random() * chars.length);
    randomString += chars[randomIndex];
}

// 设置环境变量
pm.environment.set("randomString", randomString);

然后在请求中使用 {{randomString}}

示例 3: 生成随机日期

如果你需要生成一个随机日期,比如介于 2020-01-01 和 2024-05-28 之间的日期,可以使用以下脚本:

// 定义日期范围的起始和结束
const start = new Date('2020-01-01');
const end = new Date('2024-05-28');

// 计算时间差,单位为毫秒
const diff = end.getTime() - start.getTime();

// 生成随机时间差
const randomTime = Math.random() * diff;

// 将随机时间差转换为日期
const randomDate = new Date(start.getTime() + randomTime);

// 格式化日期为字符串
const randomDateString = randomDate.toISOString().split('T')[0];

// 设置环境变量
pm.environment.set("randomDate", randomDateString);

然后在请求中使用 {{randomDate}}

这些示例展示了如何在 Postman 中使用 JavaScript 来生成不同类型的随机数,并将它们存储在环境变量中,以便在请求中使用。你可以根据需要调整这些脚本,以生成符合你需求的随机值。

自定义随机数变量的使用方法

我们以上述示例2为例,首先需在预请求脚本中,填写随机数脚本,如下图


在请求参数中,引用随机数{{randomString}},即可

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走,希望可以帮助到大家!领取资料,咨询答疑,请➕wei:  June__Go

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3实战笔记(51)—Vue 3封装带均线的k线图

文章目录 前言带均线的k线图总结 前言 继续封装一个封装带均线的k线图 带均线的k线图 EChartsCandlestickSh.vue&#xff1a; <template><div ref"chartContainer" style"width: 100%; height: 500px"></div></template><scr…

HackTheBox-Machines--SolidState

SolidState 测试过程 1 信息收集 NMAP ┌──(root㉿serven)-[~] └─# nmap -p 0-65535 -A 10.129.224.177 Starting Nmap 7.92 ( https://nmap.org ) at 2024-06-05 00:52 CST Host is up (0.063s latency). Not shown: 65530 closed tcp ports (reset) PORT STATE SE…

如何解决 Zabbix模板同步超时:解决运维技术领域的BugFailed to sync Zabbix template due to timeout

如何解决 Zabbix模板同步超时&#xff1a;解决运维技术领域的BugFailed to sync Zabbix template due to timeout 原创作者&#xff1a; 猫头虎 作者微信号&#xff1a; Libin9iOak 作者公众号&#xff1a; 猫头虎技术团队 更新日期&#xff1a; 2024年6月6日 博主猫头虎…

python学习笔记-05

函数 基本上所有的高级语言都支持函数&#xff0c;函数就是一种代码抽象的方式。之前所使用的len、print等都是python的内置函数。 1.初识函数 在编写程序过程中&#xff0c;如果一段代码经常出现&#xff0c;为了提高编写效率&#xff0c;将这类实现某个功能的代码作为一个…

Linux: ubi rootfs 加载故障案例

文章目录 1. 前言2. ubi rootfs 加载故障现场3. 故障分析与解决4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任何承诺。 2. ubi rootfs 加载故障现场 问题故障内核日志如下&#xff1a; Star…

前后端分离与实现 ajax 异步请求 和动态网页局部生成

前端 <!DOCTYPE html><!-- 来源 --> <!-- https://cloud.tencent.com/developer/article/1705089 --> <!-- https://geek-docs.com/ajax/ajax-questions/19_ajax_javascript_send_json_object_with_ajax.html --> <!-- 配合java后端可以监听 --&…

Jmeter的几种参数化方式

1.为什么要做参数化&#xff1f; 在用jmeter脚本进行压测的时候&#xff0c;为了更真实的模拟起到更好的效果&#xff0c;我们需要让参数动态变化起来&#xff0c;也就是参数化。通过参数化我们也可以更好、更灵活的维护我们的测试脚本。 2.参数化的方式 能够实现参数化的方式有…

Linux 磁盘分区步骤

1.lsblk用于查看磁盘分区情况&#xff0c;lsblk -f用于查看uuid字符串以及挂载点。 以下是虚拟机部分添加磁盘的步骤。 其余没展示的都按照默认设置进入下一步即可。 2.添加完成后使用reboot重新进入后再使用lsblk就会发现磁盘sdb已经有了&#xff0c;但是没有分区。现在添加分…

LitCTF2024部分wp

litctf wp 第一次ak了web和misc&#xff0c;非常激动&#xff0c;感谢lictf给我这个机会 最终成果 全靠队里的密码逆向✌带飞。一个人就砍了近一半的分数 这里是我们队的wp web exx 题目名反过来就是xxe&#xff0c;考察xxe&#xff0c;查看登录的数据包 发现传的就是xml…

华为高斯数据库招聘

西安华为&#xff0c;部门直招数据库开发&#xff0c;测试&#xff0c;维护&#xff0c;hc充足&#xff0c;流程快。 语言不限&#xff0c;专业不限&#xff0c;与业内数据库大佬共事&#xff0c;致力于做数据库行业领军者。 一、岗位职责&#xff1a; 1.负责数据库系统内核模…

Qt信号槽与函数直接调用性能对比

1. 测试方法 定义一个类Recv&#xff0c;其中包含一个成员变量num和一个成员函数add()&#xff0c;add()实现num的递增。 另一个类Send通过信号槽或直接调用的方法调用Recv的add函数。 单独开一个线程Watcher&#xff0c;每秒计算num变量的增长数值&#xff0c;作为add函数被调…

SpaceX 首席火箭着陆工程师 MIT论文详解:非凸软着陆最优控制问题的控制边界和指向约束的无损凸化

上一篇blog翻译了 Lars Blackmore(Lars Blackmore is principal rocket landing engineer at SpaceX)的文章&#xff0c;SpaceX 使用 CVXGEN 生成定制飞行代码,实现超高速机载凸优化。利用地形相对导航实现了数十米量级的导航精度,着陆器在着陆过程中成像行星表面并将特征与机载…

Spring自带定时任务@Scheduled注解

文章目录 1. cron表达式生成器2. 简单定时任务代码示例&#xff1a;每隔两秒打印一次字符3. Scheduled注解的参数3.1 cron3.2 fixedDelay3.3 fixedRate3.4 initialDelay3.5 fixedDelayString、fixedRateString、initialDelayString等是String类型&#xff0c;支持占位符3.6 tim…

用幻灯片讲解C++手动内存管理

用幻灯片讲解C手动内存管理 1.栈内存的基本元素 2.栈内存的聚合对象 3.手动分配内存和释放内存 注意&#xff1a;手动分配内存&#xff0c;指的是在堆内存中。 除非实现自己的数据结构&#xff0c;否则永远不要手动分配内存! 即使这样&#xff0c;您也应该通过std::allocator…

gitlabcicd-k8s部署runner

一.环境信息 存储使用nfs挂载持久化 k8s环境 helm安装 建议helm 3 二.部署gitlab-runner 1.查看gitlab版本 进入容器可通过执行&#xff1a;gitlab-rake gitlab:env:info rootgitlab-647f4bd8b4-qz2j9:/# gitlab-rake gitlab:env:info System information System: Current Us…

重生之 SpringBoot3 入门保姆级学习(14、内容协商基础简介)

重生之 SpringBoot3 入门保姆级学习&#xff08;14、内容协商基础简介&#xff09; 3.3 内容协商3.3.1 基础简介3.3.2 演示效果 3.3 内容协商 3.3.1 基础简介 默认规则 基于请求头的内容协商&#xff08;默认开启&#xff09; 客户端向服务器发送请求&#xff0c;携带 HTTP 标…

php: centos+apache 启动php项目

指导文件 &#xff1a;PHP: Apache 2.x on Unix systems - Manual 下载路径 &#xff1a;Index of /httpd configure: error: APR not found. 解决方案&#xff1a; APR&#xff08;Apache Portable Runtime&#xff09;库。APR是Apache HTTP服务器的可移植运行时环境&…

51建模网3D编辑器:一键为3D模型设置特殊材质

3D设计师要对3D模型设置玻璃或者钻石材质时&#xff0c;操作比较复杂&#xff0c;但是利用51建模网的3D编辑器&#xff0c;不用下载安装软件&#xff0c;在线通过浏览器即可编辑&#xff0c;具有一键设置特殊材质的功能。目前&#xff0c;它支持钻石材质、玻璃材质和水波纹材质…

nvme-cli常见命令分析

一、背景 nvme-cli命令常常用于获取或者设置SSD参数&#xff0c;比如常见的nvme list&#xff0c;nvme id-ctrl等&#xff0c;都是获取SSD的基本信息&#xff0c;也有nvme admin-passthru用于读取或者设置自定义命令。作为使用者&#xff0c;我们并不知道nvme-cli源码怎么实现…

程序员修炼之道 07:调试

不记录&#xff0c;等于没读。 这里是我阅读《程序员修炼之道》这本书的记录。 软件缺陷以各种方式表现出来&#xff0c;从对需求的误解到编码错误。现在的计算机系统仍有局限性&#xff0c;能干你让它干的事情&#xff0c;但不一定能干你想让它干的事情。本章介绍调试中涉及的…