前言

小伙伴们,好久不见呀,今天呢笔者想和大家聊聊postman参数化,在接口测试中,部分参数每次发送请求是唯一的数值,这时可以采用把测试数据参数化处理的方式实现,postman参数化的形式主要有三种。

1、内置变量实现

内建变量为postman自带的系统变量,但是不能进行精确化的对比

Variable Name

Description

Examples

{{$guid}}

添加一个V4风格的GUID

“611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”

{{$timestamp}}

添加当前的时间戳,精确到秒

1562757107 , 1562757108 , 1562757109

{{$randomint}}

添加0-1000之间的随机整数

0-1000之间的随机整数

{{$randomFullName}}

随机全名(名字 姓氏)

Connie Runolfsdottir , Sylvan Fay , Jonathon Kunze

{{ $randomBoolean}}

随机布尔值 (true/false)

true , false , false , true

更多内置变量参考:https://blog.csdn.net/minzhung/article/details/102531880 内建变量一般放在request里

2、Pre-request-Script页签中使用代码实现

单一请求执行顺序如下图所示:

​Pre-request-Script→request→response→Tests

这是比较推荐的一种参数化方法,可以通过自己写脚本的方式,提高了可塑性,

值得注意的是接口测试执行时接口会先执行这里的代码,然后发送请求,最后进行断言,与test一样都支持js语法

Pre-request-Script为执行接口请求之前要做的操作,而tests是执行完请求要做的操作,内建变量一般放在request里,我们

也可以用代码在pre-request-Script中实现,用代码实现的好处是可以复用,以下为部分举例:

示例一、Pre-request-Script先定义当前时间并获取,把当前时间设置为全局变量后传入请求参数中,然后在Tests中进行断言

3、下面是其他部分参数化方式的实现

代码如下

var now_time = Date.now();
pm.globals.set("now_time", now_time);const guid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
.replace(/x/g, () => (Math.floor(Math.random() * 16)).toString(16))
.replace(/y/g, () => (Math.floor(Math.random() * 4 + 8)).toString(16));pm.globals.set("guid_value", guid);const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;pm.globals.set("random_number", randomInt(8,14) );const getRandomValue = list => list[randomInt(0, list.length - 1)];
const charsInName = ['王','李','张'];
pm.globals.set("people_name", getRandomValue(charsInName) );var mobile_num = `13${randomInt(500000000, 599999999)}`;
pm.globals.set('mobile_num',mobile_num);const sleep = (milliseconds) => {
const start = Date.now();
while (Date.now() <= start + milliseconds) {}
};
sleep(5000);

4、外部文件的方式实现

4.1通过csv文件或者json格式的文件实现参数化

csv的运用,首先通过在文件中设置需要搜索的字段和搜索出来的结果

​关键自之间需要用英文逗号分隔开,第一行写定义的参数变量,切记需要以utf-8的编码格式、.csv的文件后缀名保存,点击runner按钮

​也可以在控制台查看具体运行结果

断言的期望结果如果也写入文件中的话,也可以在Tests断言中调用,这里不再举例

​4.2外部文件也可以通过json格式的文件实现参数化,导入文件的时候记得校验文件是否为json

​值得注意的是iteration设置迭代次数,每次迭代都会使用你的数据文件中的一行,如果迭代次数超过数据文件中的行数,讲会重复使用最后一行数据

总结

今天的文章就分享到这里了,喜欢的小伙伴记得点赞收藏评论加关注哟,关注我每天给你不同的惊喜。

postman之参数化详解相关推荐

  1. zbb20180930 Postman 使用方法详解

    Postman 使用方法详解   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/fxbin123/article/details/80428216 ...

  2. Postman 使用方法详解

    原创 Postman 使用方法详解 2019-07-21 23:28:42 痴乙 阅读数 494053更多 分类专栏: postman 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版 ...

  3. pytest学习和使用12-Unittest和Pytest参数化详解

    12-Unittest和Pytest参数化详解 1 Unittest参数化 1.1 ddt 1.1.1 简介 1.1.2 说明 1.1.3 安装 1.1.4 版本信息 1.1.5 实例1 1.1.6 ...

  4. postman linux 使用教程,Postman 使用方法详解

    一.Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具.今天给大家介 ...

  5. postman请求参数详解

    1. Authorization 身份验证,主要用来填写用户名密码,以及一些验签字段,postman有一个helpers可以帮助我们简化一些重复和复杂的任务.当前的一套helpers可以帮助你解决一些 ...

  6. Postman 教程使用详解:如何安装和使用 Postman 进行 API 测试

    什么是Postman? Postman 是一个可扩展的 API 测试工具,可快速集成到 CI/CD 管道中.它于2012年作为Abhinav Asthana的一个副项目开始,旨在简化测试和开发中的AP ...

  7. jmeter随机参数化不重复_接口测试参数化详解(Jmeter)

    接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性.我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试 ...

  8. loadrunner java 参数化_LoadRunner 参数化详解

    LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试.通过使用 LoadR ...

  9. 接口测试参数化详解(Jmeter)

    简介 接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性.我们在测试过程中需要考虑不同的输入组合,来覆盖不同 ...

最新文章

  1. 数据挖掘实战:带你做客户价值分析(附代码)
  2. 怎样用vc 做一个c语言,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
  3. 【pytorch】torch 查看GPU
  4. GDI+:自定义控件时如何使用Region来输出特定区域
  5. 学习笔记之-java8的新特性-函数式接口,lambda表达式,方法引用,Stream API,Optional类
  6. Java至尊红颜_智能手机跨时代大作 摩托MPx220登场
  7. (12)H5新增语义化标签布局案例
  8. 拓端tecdat|SPSS中的多层(等级)线性模型Multilevel linear models研究整容手术数据
  9. Ubuntu下Apache+SVN搭建SVN服务多项目管理
  10. python和pycharm版本要对应吗_pycharm的版本问题
  11. 二级c语言分数,C语言二级考试分数构成与攻略,高分必备
  12. wlan 网速测试软件,WiFi大师网速测试
  13. 这才是在线Word转PDF的正确姿势
  14. 2019 AI顶会时间表
  15. 在Python中使用Pandas.DataFrame对Excel操作笔记一 - 从Excel里面获取说需要的信息
  16. 阿里正面阻击拼多多?店宝宝:百亿补贴进入新战场
  17. 机器学习教程 之 半监督学习 Co-training 协同训练 (论文、算法、数据集、代码)
  18. C++ - Copy Elision
  19. 今日头条最新signature
  20. 信息系统项目管理师-项目资源管理

热门文章

  1. 学校里计算机考证用什么软件,微机考试-我想请问下,计算机初级考试考些什么东西?因为我以前学校里读书时读 爱问知识人...
  2. 进程与病毒—妙用系统进程手工杀毒
  3. WebBrowser控件使用详解
  4. 日本人为何离开名片就寸步难行?
  5. SQL Server全时区转换
  6. 中断和执行子服务器,windows - 命名管道服务器,如何中断或超时等待客户端连接和传入数据 - 堆栈内存溢出...
  7. Simulink_simscape电源电路建模入门
  8. 赶鸭子上架的cdq分治
  9. 细粒度图像分析进展综述
  10. sony e系列笔记本的OFFICE的序列号