postman笔记

本文详细介绍了Postman的各个功能,包括请求页签的参数设置、响应页签的数据查看、接口关联与数据提取、动态参数的使用、断言的设定、数据驱动测试以及加密接口的操作。内容涵盖params、Authorization、headers、预请求脚本、测试脚本、响应Body、接口关联方法、动态参数类型、断言类型和加密算法的应用。
摘要由CSDN通过智能技术生成

一、请求页签

在这里插入图片描述
params:get请求传参,(post或其他请求路径中有参数那么也会自动填充到
params)
Authorization:鉴权方式
headers:传请求头
Pre-request-Script:请求之前的脚本(可用于接口关联时设置全局变量)
tests:请求之后的断言
setting:设置
Body:post请求传参,包含以下几种方式:
在这里插入图片描述
form-data:可以传文件也可以传表单键值对。
x-www-form-urlencoded:只能传表单键值对。
raw:json,text,html,javascript,xml
binary:二进制文件上传
在这里插入图片描述

cookie:是postman工具自动的保存以及发送cookie。

二、响应页签

在这里插入图片描述
Body:返回的数据,Pretty以json./…格式,Raw文本,Preview网页
Cookie:响应的Cookie
headers:响应头
Test Results 断言的测试结果
status :状态码
388MS:响应时间

三、接口关联

下一个接口要用到上一个接口的数据,需要进行接口关联。

3.1使用json提取

//第一个接口的Tests中编写js脚本,将提取的数据设置为全局变量

//把返回的json字符串转换成对象。
var jsonObj = JSON.parse(responseBody);

//从对象中取出access_token的值并设置成全局变量
pm.globals.set("access_token",jsonObj.access_token);

3.2使用正则表达式提取

//第一个接口的Tests中编写js脚本,将提取的数据设置为全局变量

//通过返回的结果匹配一个正则表达式去得到需要的值
var datas = responseBody.match(new RegExp('"access_token":"(.*?)"'));
pm.globals.set("access_token",datas[1]);
  • 其他接口使用全局变量:{{access_token}}

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

  • 也可以设置全局前置脚本和Tests
    在这里插入图片描述

其他常用方法:

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);

四、动态参数

1.内置的动态参数:局限在于无法断言。

{{$timestamp}} 生成当前时间的时间戳
{{$randomInt}} 生成0-1000的随机数
{{$guid}} 生成一个很长的GUID的随机字符串

2.自定义的动态参数或函数

2.1自定义时间戳参数
var times = Date.now();
console.log(times);

2.2随机整数
const randomInt = (min, max) => Math.floor(Math.random() * (max - min + 1))+min;
console.log(randomInt(100000000,999999999));

2.3等待几秒再调用(防灌水,限制访问接口频率等)
const sleep = (milliseconds) => {
const start = Date.now();
while (Date.now() <= start + milliseconds) {}
};
//等待3秒
sleep(3000);

五、断言

判断预期结果和实际结果是否一致。
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);
 });
 //断言响应头中有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")

六、数据驱动

在这里插入图片描述
postman进行数据驱动选择json或者csv格式文件。

csv格式:

grant_type,appid,secret
client_credential,wx74a8627810cfa308,e40a02f9d79a8097df497e6aaf93ab80
,wx74a8627810cfa308,e40a02f9d79a8097df497e6aaf93ab80
client_credential,,e40a02f9d79a8097df497e6aaf93ab80
client_credential,wx74a8627810cfa308,

json格式:

[
	{"grant_type":"client_credential","appid":"wx74a8627810cfa308","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"","appid":"wx74a8627810cfa308","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"client_credential","appid":"","secret":"e40a02f9d79a8097df497e6aaf93ab80"},
	{"grant_type":"client_credential","appid":"wx74a8627810cfa308","secret":""}
]

提高preview查看参数:
在这里插入图片描述
进行参数化的参数使用全局变量获取:
在这里插入图片描述

七、加密接口

对称式加密:DES,AES,Base64 可以加密也可以解密。
非对称式加密:RSA 公钥加密,私钥解密,私钥加密,公钥解密
只加密不解密:MD5,SHA256 只加密不解密

网站:https://www.bejson.com/

MD5加密方式:

var user = CryptoJS.MD5("admin").toString().toUpperCase();
var pass = CryptoJS.MD5("123").toString().toUpperCase();

Base64加密方式:

var user = CryptoJS.enc.Utf8.parse("admin");
var base64_user = CryptoJS.enc.Base64.stringify(user);

var pass = CryptoJS.enc.Utf8.parse("123");
 var base64_pass = CryptoJS.enc.Base64.stringify(pass);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置Postman监控,可以按照以下步骤进行操作: 1. 打开Postman应用程序,并选择要监控的集合。 2. 在集合旁边的省略号(...)上单击,然后选择"Monitor Collection"。 3. 在弹出的窗口中,可以选择监视器的类型,包括共享集合和私有集合。如果选择共享集合,团队中的其他成员也可以看到监视器;如果选择私有集合,则只有自己可以看到监视器。 4. 可以从不同的位置创建监视器,包括集合侧边栏、New button、Launch screen和Postman web面版。具体的操作取决于你的需求和使用方式。 此外,Postman还可以与其他开发工具和平台集成,如GitHub、Jenkins和Slack等。要进行集成,可以按照以下步骤进行操作: 1. 安装Postman,可以从Postman的官方网站下载适合自己操作系统的版本,并进行安装。 2. 在安装过程中,可以根据需要进行设置,如安装路径等。 3. 设置代理,根据需要进行配置。 通过配置Postman监控和集成其他工具,你可以实现对接口的监控,并在接口出现问题时及时通知相关人员,以提供更好的用户体验。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [【Postman系列】五、使用Postman监控API和网站](https://blog.csdn.net/weixin_46017315/article/details/120799256)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [PostMan笔记(一)简介+安装和设置](https://blog.csdn.net/weixin_42405670/article/details/130164005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Charles+Postman实现监控接口定时请求](https://blog.csdn.net/m0_60511889/article/details/129091559)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值