经常使用postman,但是理解还是很浅,多数人都把他当请求工具。但是它还有很多功能,如自动测试,文档生成,捕获请求。
文章目录
- ==但是有个可行的办法。新建一个collection,复制一份接口到这里,然后都move过去==。
- 导入导出
- General
- Trim keys and values in request body
- New Code Generation Mode
- SSL certificate verification (native apps only):
- Always open requests in new tab
- Always ask when closing unsaved tabs
- Language detection
- Request Timeout in ms (0 for infinity)
- Automatically persist variable values
- Working Directory
- Allow reading files outside working directory:
- Editor Font Size
- Two-pane view
- Variable autocomplete
- Send no-cache header (recommended):
- Send Postman Token header
- Retain headers when clicking on links
- Automatically follow redirects
- Send anonymous usage data to Postman
- Max response size
- pre-request的使用
- 表单形式的参数通过勾选决定是否传递
- 其他
捕获请求?
待续。
postman 可以批量运行请求
这个很智能,但是用的比较少。一般人都把他当成请求工具了。
postman可以生成api文档(赞)
方案一:
collection上右键 | publish docs
方案二:
new | documentation | 选择项目
多建几个工作区(workspace)
一个项目所有的接口都放到一个工作区。
关键这个项目比较大,又分为好几个模块,接口数量特别多,找的时候不好找。
最佳实践:
小项目用一个工作区即可。
大项目根据模块或版本多分几个工作区,用起来很方便。
老工作区内容分到新工作区
让你操作会如何操作?
是不是先以collection的维度导出,然后切换到新工作区,导入。再切换回老工作区,删除掉该collection。
别笑,我就是这么操作的。
后来发现蠢的要死,在collection上右键move即可,费的这个劲。
删除工作区
工作区越来越多,不好维护,删除几个吧,猛一下居然不知道怎么删除。。。
home | 点左侧的workspace | 点选任意一个workspace | 到settings页面(第一个页面是overview并没有删除按钮),拉到最后面就有删除按钮,为了确保不误删,手动输入工作区名称,即可删除。
工作区改名
home | 点左侧的workspace | 点选任意一个workspace | overview、updates、settings上面就是工作区的明细,单击修改即可。
请求的复制
同工作区直接复制即可。 # 也支持按住ctrl点选多个,或是按住shift批量选择
跨工作区复制好像不能直接复制。
但是有个可行的办法。新建一个collection,复制一份接口到这里,然后都move过去。
导入导出
导出
settings | data | download
导入
方案一:
settings | data | import 选择文件导入即可
方案二:
file | import
General
主要选项基本都在general模块。
Trim keys and values in request body
form-data类型下key,value是否去掉空格
默认off
New Code Generation Mode
没看懂什么意思
If you’re generating code snippets via the Code link, switching this to “ON” enables custom settings by programming language.
SSL certificate verification (native apps only):
阻止应用程序在发出请求时检查SSL证书的有效性。
默认off
Always open requests in new tab
始终在新tab打开请求
默认off
Always ask when closing unsaved tabs
关闭未保存窗口时提示
默认on
Language detection
没看懂
将其设置为JSON将强制JSON呈现,而不管响应的Content-Type标头如何。
默认auto
Request Timeout in ms (0 for infinity)
请求超时时间,0表示无限大(永不超时)
默认0
Automatically persist variable values
每次请求执行结束时将变量的当前值保留为初始值。
默认on
Working Directory
工作目录,默认地址为 用户目录\Postman\files , 例如C:\Users\chushiyun\Postman\files。要上传的文件最好放到这里,否则可能上传不上去。 因为允许上传任意文件是不安全的。
Allow reading files outside working directory:
是否允许访问工作目录之外的文件
默认off 因为允许不安全
Editor Font Size
字体大小
默认12
Two-pane view
双列模式 这个强烈推荐,比较有用
默认off
Variable autocomplete
变量自动补全
默认on
Send no-cache header (recommended):
发送不缓存header可确保您从服务器获得最新的响应。推荐
默认on
Send Postman Token header
主要用于绕过Chrome中的错误。如果XmlHttpRequest处于待处理状态。使用相同的参数发送另一个请求,然后Chrome对这两个请求返回相同的响应。发送随机令牌可避免此问题。这也可以帮助您区分服务器端的请求。
默认on
Retain headers when clicking on links
没看懂
默认off
Automatically follow redirects
没看懂
防止返回300系列响应的请求被自动重定向。
默认on
Send anonymous usage data to Postman
没看懂
用于禁用向邮递员发送基本匿名使用数据(按钮单击和应用程序事件)的选项。
默认on
Max response size
最大响应大小 超过了会提示,其实50m一般够用了
默认50M
pre-request的使用
pre里面定义的变量,body里面可以通过{{变量名}}来取用。
如图pre-request里面的内容为:
invoiceCode="1111122222";
invoiceNumber="88889999";
postman.setGlobalVariable("invoiceCode", invoiceCode);
postman.setGlobalVariable("invoiceNumber", invoiceNumber);
body里面的内容为:
{
"invoiceCode":{{invoiceCode}},
"invoiceNumber":{{invoiceNumber}}
}
注: 和tests有一点不同,tests里面是可以通过外部引入文件来传数据,pre-request要传的数据要在这里定义好。
pre-request脚本
定义变量:
env = "测试环境"; // 定义字符串
userAccount= "zhangsan";
password= "123456";
timestamp = new Date().getTime(); // 定义时间
注:直接定义,是不需要前缀的。
脚本里面可以用双左斜杠表示注释。
写逻辑:
if(env == "测试环境"){
userAccount="lisi";
}
在这里插入代码片
将变量设置到环境中,这样就可以在报文中引用。
pm.environment.set("userAccount",userAccount);
报文样例:
{
"userAccount": "{{userAccount}}"
}
脚本可以打日志吗?
表单形式的参数通过勾选决定是否传递
json格式的还好,直接复制粘贴就行了。
formdata形式的,编写麻烦,不用的参数难道要删掉?
当然不,直接取消勾选即可。发送请求的时候,该参数就不会传递了。
其他
点击左侧请求,右边不出现新tab
重启postman也没用,删掉postman的storage和cache也没用,真是奇怪了。
也可以通过登出登录解决。
postman卡顿(重)
一直用的postman,但是最近非常卡顿,卡的想要扔掉它,换个软件。
如果不能用顺了,就把它换掉。
1、windows系统添加环境变量 POSTMAN_DISABLE_GPU=true (先配置上再说,并未发现明显效果)
2、sign out 然后再 sign in。 (登出登录) 实测确实快了很多。
登出时会提示sign out并删除本地数据,很可能是因为这个就会快很多。
3、history | clear all (实测比较有效,但是很快又会卡顿)
4、C:\Users\实际用户名\AppData\Roaming\Postman\Cache,直接干掉,发现果然快了非常多,连history也没了。 (非常推荐,简单粗暴解决问题)
postman账号突然不能登录了(登录不上、网络不通)
正常来说肯定不会限制访问的,如果突然不能访问了,可能是杀毒软件或防火墙限制了。
正常应该可以ping通,在出问题的时候是不通的,隔天试了下,可以ping通了。
ping identity.getpostman.com # 172.64.151.9 是通的
刷新缓存试下,然后再登录,发现可以了。
2025-05-30再次遇到了这情况,不知道抽什么风,第二天换了个环境,居然又好了。
postman发送不了请求了(点send没有反应)
1、设置为双栏模式(肯定是有报错的,双栏比较好看到)。如果是单栏模式直接看一般看不到,需要拖动response的滚动条就可以看到了,要是早看到就好了,找半天没思路。
2、postman是否需要更新了,如果不更新,它不会一直提醒,就是各种难用,恶心。
3、如果提示连接失败。
Error:connect ECONNREFUSED 127.0.0.1:8080
这说明那里设置了代理了,所以连不上。
代理可能的位置:
1、windows自带的代理(浏览器的代理)。
2、postman的代理。
如果出问题了,点settings | proxy | 勾选如下两个选项:
Use system proxy # 使用系统代理相当于没有设置代理
Respect HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables # 这句话的意思是: 尊重HTTP_PROXY、HTTPS_PROXY和NO_PROXY环境变量
postman请求路径后面多一堆字符
单条request请求下的settings | Encode URL automatically(自动编码url) 去掉勾选。
实际遇到的问题是form表单的请求,发送出的实际请求后面多了几个url编码字符串。去掉勾选后问题解决,但是后续再勾上也没有复现,不知道啥情况。
postman的console控制台查看日志
什么,postman还有日志控制台?
很多人甚至没用过,这个控制台很方便,做过的请求,以及完整的信息,控制台都可以看到。
相当于多了个排查问题的工具。
postman的底层原理
之前还不太明白,用的多了之后发现,其实就是将所有数据结构化,都存在人家的数据库里了。登录账号后,所有的数据都拉到本地进行展示。
当然了,任何修改,只要是保存了的,也有机制同步到人家的数据库。
所以会不会泄露数据?
那还用问,你所有的信息都在人家数据库里了。
postman如何导出环境变量
一开始还真没找到,实际特别简单。
左侧,第一个是collections,表示请求集合。
第二个是environment,就是环境变量,右键 | export即可。
弃用(劝退)
强制登录,强制同步劝退大法实在是受够了,弃用。
本文详细介绍Postman的批量请求处理、API文档自动生成、预请求脚本使用及各种设置选项,包括请求超时、SSL验证、变量持久化等,助你掌握这款强大的API开发工具。
2051

被折叠的 条评论
为什么被折叠?



