这块关于PostMan的常规操作比较基础就不赘述,建议着重看一下怎么设置环境变量、全局变量、动态参数及断言的使用,有对应的视频感兴趣可以听听。但是现在像ApiPost、Apifox都是中文的,都有PostMan的功能,应用会更广,团队协作也很方便,也是建议使用国产测试软件。

反正都差不多,ApiPost、Apifox具体使用也可以看看官方文档,然后再实践中多尝试使用就熟了。注意测试软件更新迭代还是很快的,想要体验最新功能记得及时更新升级

Apifox-------API 文档、API 调试、API Mock、API 自动化测试
20 分钟学会 Apifox
Apifox 操作文档


Postman与ApiPost比较区别

ApiPost官网:

APIPOST 使用文档

ApiPost和Postman,你准备使用谁

Postman官方下载地址32还是64自行确认

Postman接口请求实战以及界面页签详解

在这里插入图片描述
如果对这些标签含义感兴趣请参考

postman常规使用

Get请求和Post请求的区别:

在这里插入图片描述

  1. get请求一般是去取获取数据(其实也可以提交,但常见的是获取数据);
    post请求一般是去提交数据。

  2. get因为参数会放在url中,所以隐私性,安全性较差,请求的数据长度是有限制的,
    不同的浏览器和服务器不同,一般限制在 2~8K 之间,更加常见的是 1k 以内;
    post请求是没有的长度限制,请求数据是放在body中;

  3. get请求刷新服务器或者回退没有影响,post请求回退时会重新提交数据请求。

  4. get请求可以被缓存,post请求不会被缓存。

  5. get请求会被保存在浏览器历史记录当中,post不会。get请求可以被收藏为书签,因为参数就是url中,但post不能。它的参数不在url中。

  6. get请求只能进行url编码(appliacation-x-www-form-urlencoded),post请求支持多种(multipart/form-data等)。

1…GET 和 POST都是http请求方式, 底层都是 TCP/IP协议;通常GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包(但firefox是发送一个数据包),
2…对于 GET 方式的请求,浏览器会把 http header 和 data 一并发送出去,服务器响应 200(返回数据)表示成功;
而对于 POST,浏览器先发送 header,服务器响应 100, 浏览器再继续发送 data,服务器响应 200 (返回数据)。

深入
1、GET和POST有一个重大的区别:

简单地说
GET产生一个TCP数据包。
POST产生两个TCP数据包。
复杂的说
对于GET请求,浏览器会把http header和data一起发送出去,服务器响应200,请求成功。
对于POST请求,浏览器先发送header,服务器会响应100(已经收到请求的第一部分,正在等待其余部分),浏览器再次发送data,服务器返回200,请求成功。
2、既然POST请求需要两步,那么时间上的消耗会不会比GET请求更多?不会。

GET请求和POST请求都有自己的语义,不能随便混用。
在网络环境好的情况下,发送一次包的时间和发送两次包的时间差可以忽略,在网络环境差的情况下,发送两次包的TCP在验证数据的完整性上,有非常大的优势。
并不是所有的浏览器都会在POST请求中发送两次包。比如:火狐。

在这里插入图片描述

关于get请求不同浏览器对应的url最大长度
目前说的get长度有限制,是特定的浏览器及服务器对它的限制。各种浏览器和服务器的最大处理能力如下:
在这里插入图片描述
注意:(若长度超限,则服务端返回414标识)
1、首先即使有长度限制,也是限制的是整个URI长度,而不仅仅是你的参数值数据长度。
2、HTTP协议从未规定GET/POST的请求长度限制是多少
3、所谓的请求长度限制是由浏览器和web服务器决定和设置的,浏览器和web服务器的设定均不一样,
这依赖于各个浏览器厂家的规定或者可以根据web服务器的处理能力来设定。

Postman 中环境变量、全局变量的对比及使用

博文参考
视频参考

设置动态参数:

//目标提取返回数据中的chatId
console.log("返回的内容是:\n"+responseBody)
console.log("方法一使用JSON提取器来提取")
//它是一个JSON字符串 因此需要先转JSON对象,就可以提取对象中想要的字段值
var jsObj = JSON.parse(responseBody);
//提取chatId并设置为全局变量 后面接口才能用
console.log(jsObj.chatId)
pm.globals.set("chatId", jsObj.chatId);
console.log("方法二使用正则表达式来提取")
var rxDate =  responseBody.match(new RegExp('"chatId":"(.*?)"'))
console.log(rxDate)
console.log(rxDate[1])

这块你要看上面的视频啊,不然新手是看不懂下面的含义的

在这里插入图片描述

在这里插入图片描述

断言的使用

基本上分为:状态码断言业务断言性能断言在这里插入图片描述在这里插入图片描述
在这里插入图片描述
上面是点右边自己填充的,实际应用时候有的需要在改改即可 如:
在这里插入图片描述
配置全局断言
在这里插入图片描述
在这里插入图片描述

环境变量

Postman设置环境ip、port信息
在这里插入图片描述

Postman的动态参数

在这里插入图片描述
案例应用
1、Postman 设置 接口请求的一个时长,可能这个接口比较慢,为了防止批量执行时报错,可以为这个接口设置一个合理的等待时间,过了这个时间才会去执行下一个接口
在这里插入图片描述

2、
在这里插入图片描述

断言

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关于批量测试文件上次的坑

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐