3天精通Postman---动态参数amp;断言amp;CSV数据驱动amp;Mock Server

news/2024/5/4 9:54:25/文章来源:https://blog.csdn.net/weixin_41121249/article/details/126623610
DAY2课题:Postman接口关联&动态参数&断言&CSV数据驱动

目录

一、接口关联,接口依赖,多接口串联,组合API

二、Postman的动态参数(随机数)

三、Postman的环境变量和全局变量

四、Postman断言

五、其他接口类型

一、接口关联,接口依赖,多接口串联,组合API

第一个接口的返回值作为第二个接口的参数。
javascript通用语法:
1.所有的符号都必须是英文状态下的符号
2.每一句代码后都必须有;结束。有if或for除外。
3.变量通过var定义。
第一种接口关联方式:json提取器的方式实现接口关联,只能针对Josn数据
//打印
console.log(responseBody);
//把返回的json字符串转换成对象。
var jsonObj = JSON.parse(responseBody);
//从对象中取出access_token的值并设置全局变量
pm.globals.set("access_token",jsonObj.access_token);
第二种接口关联方式:正则表达式提取器的方式实现接口关联,所有数据都可以。
//通过返回的结果匹配一个正则表达式去得到需要的值
var datas = responseBody.match(new RegExp('"access_token":"(.*?)"'));
//从变量中取出access_token的值并设置全局变量
pm.globals.set("access_token",datas[1]);
其他的方法:
1.获取响应头的值
var content_type = postman.getResponseHeader("Content‐Type");
console.log(content_type);
2.获取响应的Cookie的值
var csrf_token = postman.getResponseCookie("csrf_token");
console.log(csrf_token.value);
3.如果返回的是xml的值,那么可以转化成对象
var jsonObject = xml2Json(responseBody);

二、Postman的动态参数(随机数)

1.内置的动态参数:有局限。局限在于无法断言。
{{$timestamp}}  生成当前时间的时间戳
{{$randomInt}}   生成0-1000的随机数
{{$guid}}             生成一个很长的GUID的随机字符串
2.自定义的动态参数或函数。
自定义时间戳参数
//自定义动态参数时间戳
var times = Date.now();
console.log(times)
//设置为全局变量
pm.globals.set("times", times);

随机整数

//随机数
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) +min; 
//打印 
console.log(randomMobile(100000000,999999999));
随机手机号
//随机数
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) +min; 
//随机手机号
var randomMobile = `18${randomInt(100000000,999999999)}`; 
//打印 
console.log(randomMobile);
等待N秒实现:有些接口有调用时间限制,5秒之内只能调用1次。
const sleep = (milliseconds) => {const start = Date.now();while (Date.now() <= start + milliseconds) {}};//等待5秒sleep(5000)console.log("---------结束----------");

三、Postman的环境变量和全局变量

全局变量:在所有环境所有接口都可以访问的变量。
环境变量:在当前环境所有接口都可以访问的变量。

四、Postman断言

断言是判断预期结果和实际结果是否一致。
1.状态断言:断言返回码为200,一般只有一个。
2.业务断言:判断最核心的业务关键字。可以有多个。
断言状态码为200(必用)
断言返回的结果中包含有一个字符串。(常用)
断言检查返回的json对象中的字段值。(一般用于当返回是json对象时)
断言返回的body等于一个字符串。(一般用于当返回的结果很少时)
检查是否包含有Content-type的响应头
检查请求耗时少于200ms
检查post请求的响应码是否是一个值
检查返回的信息是否是一个字符串
//状态断言:检查返回的状态码为200 
pm.test("检查返回的状态码为200", function () {pm.response.to.have.status(200);});
//业务断言:检查返回的结果中包含有access_token字符串
pm.test("检查返回的结果中包含有access_token字符串", function () {pm.expect(pm.response.text()).to.include("access_token");
});
//检查返回的结果中的json里面的expires_in的值为7200
pm.test("检查expires_in的值为7200", function () {var jsonData = pm.response.json();pm.expect(jsonData.expires_in).to.eql(7200);
});
//检查返回的body等于一个字符串
// pm.test("Body is correct", function () {
//     pm.response.to.have.body("response_body_string");
// });
//断言响应头中有Content‐Type
pm.test("Content-Type is present", function () {pm.response.to.have.header("Content-Type");
});
//断言时间少于200ms
pm.test("Response time is less than 200ms", function () {pm.expect(pm.response.responseTime).to.be.below(200);
});
//断言状态码在一个区间
pm.test("Successful POST request", function () {pm.expect(pm.response.code).to.be.oneOf([200, 202]);
});
//断言返回信息
pm.test("Status code name has string", function () {pm.response.to.have.status("OK");
});
在断言中不能通过{{}}获取全局变量:可以通过以下方式获取:
pm.globals.get("times")
全局断言

 

五、其他接口类型

1.文件上传接口。

 

2.必须带请求头的接口。
1.抓包工具中复制请求头

2.Bulk Edit编辑请求头

3.Key-Value Edit转化成

 

 

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

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

相关文章

极端气候肆虐催化,碳中和带出了一个“再生时代”

江南一带的高温结束了&#xff0c;今年这场轰轰烈烈的高温&#xff0c;也画上了最后的句号。各地骤降的温度让人仿佛忘却了“热到爆表”的经历&#xff0c;但过去已经成为历史&#xff0c;历史充满痕迹。 格陵兰岛冰盖加速融化、欧洲莱茵河部分河段干涸、长江流域汛期反枯、重…

Cyclopropene-PEG-MAL Maleimide|环丙烯-聚乙二醇-马来酰亚胺

描述&#xff1a;环丙烯有机化合物。环丙烯是由三个碳原子构成的环烯烃&#xff0c;分子式为C3H4 &#xff0c;由于具有张力&#xff0c;环丙烯具有一些和其他环烯烃不同的性质。 理化性质 环丙烯在常温常压下为无色气体&#xff0c;沸点-36.15 &#xff0c;折射率1.489 。 环…

Git的安装与使用

1、Git的下载 2、git的安装 点击安装软件&#xff0c;一路安装到底&#xff0c;无需做任何选择 ...... 此处省略中间安装步骤 ...... 3、检验是否安装成功 在桌面右键&#xff0c;如果出现此图&#xff0c;表示安装成功 4、配置git 为了方便git客户端操作远程仓储方便&#…

Redis集群搭建(单机集群)

Redis入门篇https://blog.csdn.net/tongxin_tongmeng/article/details/126620333集群配置文件&#xff08;单机集群&#xff09; 1.复制/home/redis/redis-7.0.4/redis.conf到/home/redis/workspace/cluster_one cp /home/redis/redis-7.0.4/redis.conf /home/redis/workspace/…

私有化部署的知识管理平台对企业有什么意义?

随着企业的发展扩大&#xff0c;企业内部沉淀的知识也越来越多。过去很多企业都会将知识存储到云上&#xff0c;云部署模式虽然给企业带来了极大的便利&#xff0c;但在一些性能及数据安全上会存在一定的弊端&#xff0c;隐藏不少的企业会选择将数据存储在本地。下面我们就从企…

数字机器人如何更好的助力智慧政务?这里或许有你想要的答案

“十四五”规划和2035年远景目标纲要中明确提出&#xff0c;迎接数字时代&#xff0c;加快建设数字经济、数字社会、数字政府&#xff0c;以数字化转型整体驱动生产方式、生活方式和治理方式变革。 国务院于6月23日印发的《关于加强数字政府建设的指导意见》&#xff0c; 再一…

22年国家gongwuyuan考试申论题(副省级)

2022年国家公务员考试申论题&#xff08;副省级&#xff09;的问题一&#xff0c;它的题目是&#xff1a;根据“给定资料1”&#xff0c;请你谈谈B公司的案例为企业科技创新提供了哪些启示&#xff1b;要求&#xff1a;分析全面&#xff0c;条理清晰&#xff0c;不超过200字。 …

一个SpringBoot问题就干趴下了?我却凭着这份PDF文档吊打面试官(Spring Boot知识点+详解)

随着 Spring Boot 使用越来越广泛&#xff0c;Spring Boot 已经成为 Java 程序员面试的知识点&#xff0c;很多同学对 Spring Boot 理解不是那么深刻&#xff0c;经常就会被几个连环追问就给干趴下了&#xff01; 给大家整理了 Spring Boot 的35个常见知识点、21道面试必刷题、…

Docker基础-3.本地镜像发布与容器数据卷

我们在上一章中生成了自己的镜像&#xff1a;myubuntu&#xff0c;这章分别将它发布到阿里云和私有仓库 docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE myubuntu 1.0 938b4fc0baf5 20 minutes ago 179MB一、本地镜像发布到阿里云…

视频融合平台EasyCVR视频广场页脚优化为瀑布流式的实现方式

EasyCVR基于云边端一体化架构&#xff0c;兼容性高、拓展性强&#xff0c;可支持多类型设备、多协议方式接入&#xff0c;将复杂多变的底层资源统一管理起来&#xff0c;实现视频资源的统一汇聚与管理、鉴权分发、服务器集群、智能分析、数据共享、集成与调用等视频能力服务。 …

如何使用Postman快速简单的调用快递物流平台快递鸟API接口

前沿 快递鸟是一家聚合类的第三方快递物流平台&#xff0c;目前该平台提供的产品主要以API为主。由于API不能直观的看到产品效果&#xff0c;需要进行API对接联调成功后才能真实的看到产品的实际效果。但是如果一上来就写代码进行对接&#xff0c;耗费的时间长不说&#xff0c…

川渝智慧高速第 4 部分:车路协同系统数据交换

1 范围 本文件规定了智慧高速公路车路协同系统数据交换的架构和内容。 本文件适用于成渝地区双城经济圈智慧高速公路的新建、改&#xff08;扩&#xff09;建工程&#xff0c;以及高速公路既有设施 智慧化提升改造。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用…

自动化情侣微信早安信息定时推送

文章目录一、效果展示二、配置config.txt&#xff08;重点&#xff09;2.1 填写appID和appsecret2.1 创建测试模板填写template_id2.4 填写user2.5 填写weather_key2.6 填写剩下其他框选内容即可三、运行软件3.1 选择config.txt文件并设定时间3.2 运行软件3.3 效果展示一、效果…

湘潭大学新生匿名问答网站——解湘 项目总结

湘潭大学新生匿名问答网站——解湘 项目总结 一.开发进度 解湘 ​ 项目首页 ​ 大一暑假过半,7月29日建立本地工程文件其中项目在github上经历七次push(第八次为修改配置文件,防止数据库泄露),但在本地修改次数远远大于七次。 后端开发均为我一人完成,前端开发由他人负责…

告别BeanUtils,Mapstruct从入门到精通

如果你现在还在使用BeanUtils&#xff0c;看了本文&#xff0c;也会像我一样&#xff0c;从此改用Mapstruct。对象之间的属性拷贝&#xff0c;之前用的是Spring的BeanUtils&#xff0c;有一次&#xff0c;在学习领域驱动设计的时候&#xff0c;看了一位大佬的文章&#xff0c;他…

Redis实现消息队列

一、消息队列 1、什么是消息队列 消息队列&#xff08;Message Queue&#xff09;是一种应用间的通信方式&#xff0c;消息发送后可以立即返回&#xff0c;由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取&#xff0c;消息使用者只管从 MQ 中…

阿里巴巴出品:完美杜绝备战一个月面试 10 分钟,让 Java 面试从此不再难

众所周知&#xff0c;阿里后台一直以 Java 为重&#xff0c;面试官也是做 Java 开发的。但是语言只是工具&#xff0c;对代码的理解才是核心。面试时重点考察的是基础知识&#xff0c;以及解题的思考过程。 小编也是托了很多的关系&#xff0c;要到了这份阿里内容的面试解析。…

【运维心得】如何进行应用日志分析?

目录 为什么要进行分析? 什么是时序数据库&#xff1f; 分析结果这么用可以吗&#xff1f; 部分代码(python) 为什么要进行分析? 时间如梭&#xff0c;转眼炎热的8月份就过去了&#xff0c;全国4亿人都体会到了汗蒸和煎炸&#xff0c;这几天的凉爽&#xff0c;才使得我能…

海泰方圆成功举办“引领数据安全创新,加速数字经济发展”技术研讨会

9月1日&#xff0c;“引领数据安全创新&#xff0c;加速数字经济发展”技术研讨会成功举办。活动由北京市海淀区互联网行业委员会指导&#xff0c;中关村网络安全与信息化产业联盟联合海泰方圆共同举办&#xff0c;以数据安全为主题&#xff0c;众多行业专家、业内大咖及与会观…