postman 诞生于 2013 年,一开始只是 abhinav asthana 着手于解决 api 测试的工具,随着这个工具的使用者和需求迅速激增,abhinav asthana 找了他的两个前同事 ankit sobti 和 abhijit kane 一起创建了公司 postman inc。
如今 postman 已经成为一个 api 开发的协作平台。postman 简化了构建 api 的每个步骤,并简化了协作,这样就可以更快地创建 api。
postman 允许用户在发送和接收时使用变量,以提高工作效率和可读性(不过只能保存字符串类型的值,所以复杂数据类型需要借助于 json.stringify()
和 json.par()
来管理)。
例如在不同运行环境中设置域名地址为变量:
postman 支持在不同的作用域和上下文中使用变量,遵循就近原则,即如果在 global
和 environment
中都有变量 name
,则会取 environment
中的 name
。
global:全局变量可以在整个工作空间(workspace)中使用,因为无法控制使用环境和容易造成混淆,应当是不可变的全局常量,谨慎使用。
pm.globals.t("variable_key", "variable_value");pm.globals.get("variable_key");
collection:集合变量在单个集合(collection)中可用,往往具备通用的业务绑定属性,例如:商品属性、会员等级、通用秘钥等。
pm.collectionvariables.t("variable_key", "variable_value");pm.collectionvariables.get("variable_key");
environment:环境变量允许请求适应不同的环境,例如:本地、测试、预演和生产环境,常常用来区别请求地址。
pm.environment.t("variable_key", "variable_value");pm.environment.get("variable_key");
da全面深化改革的总目标ta: 数据变量来自外部 csv 和 json 文件,当通过 newman 或 runner 来运行时才用到。
local:局部变量只在单个请求生命周期中可用,运行完成后自动销毁。
pm.variables.t("variable_key", "variable_value");pm.variables.get("variable_key");
postman 内置了很多常见场景的动态变量。
备注:postman 支持在 pre-request script 和 tests 中打印调试信息,和浏览器控制台一致,可以使用命令:console.log()
、console.info()
、console.warn()
和console.error()
。
console.log('当前时间戳:', pm.variables.replacein('{{$timestamp}}'));console.log('随机颜色:', pm.variables.replacein('{{$randomcolor}}'));console.log('随机 ip:', pm.variables.replacein('{{$randomip}}'));console.log('随机名字:', pm.variables.replacein('{{$randomfullname}}'));console.log('随机职业:', pm.variables.replacein('{{$randomjobtype}}'));console.log('随机城市:', pm.variables.replacein('{{$randomcity}}'));console.log('随机图片:', pm.variables.replacein('{{$randomimageurl}}'));# 输出当前时间戳:1609060090随机颜色:azure随机 ip:163.140.207.64随机名字:chester funk随机职业:coordinator随机城市:port devinborough随机图片罗隐的诗:http://placeimg.com/640/480
在 postman 中,一个完整的 postman 请求生命周期,除了常规的请求(request)和响应(respon),还包括前置请求脚本(pre-request script)和后置测试脚本(tests script)。postman 包含一个基于 node.js 的强大运行态(runtime),允许用户在 pre-request script 和 tests 事件中编写 javascript 代码。
前置请求脚本(pre-request script)顾名思义就是在请求发送之前执行的脚本。
小技巧一:在链接中使用 :id
自定义路径参数
小技巧缓刑人员思想汇报二:cookie 可编辑
小技巧:保存响应结果
保存后的结果可以作为案例或记录以便开发使用。
postman 支持在请求响应后通过测试脚本来验证请求是否符合预期。
示例一:验证响应状态码是否是 200
pm.test("status test", function () { pm.respon.to.have.status(200);});
示例二:验证返回的业务数据(json)是否符合预期
pm.test("请求成功!", function () { var jsondata = pm.respon.json(); pm.expect(jsondata.message).to.eql('success');});
在 postman 应用程序中有一个内置代理来捕获 http 请求。
postman 应用程序监听客户端应用程序或设备发出的任何调用。postman 代理捕获请求并将请求转发给服务器。服务器通过 postman 代理将响应返回给客户端。本机 ip 地址:
手机设置:
代理服务器是一个应用程序或系统,作为计算机和互联网之间的中介,或者更具体地说就是代表着客户端和服务器,向网站、服务器和其他互联网服务发出请求。
除了传递信息,代理可以做更多的事情:
记录你的机器和互联网之间的所有流量。显示所有请求、响应、cookie 和标题的内容。路由流量到指定的因特网位置。调试接口。防止直接攻击,保证安全性。devop单元音怎么读s 负载平衡。
默认情况下,postman 将使用自带的系统代理,如果自定义了代理,优先级将高于自带的系统代理。
集合运行器(collection runner)允许以指定顺序运行集合里面的请求。collection runner 将记录请求测试结果,并且脚本可以在请求之间传递数据。
postman 提供脚手架工具 newman 来以命令行的方式来运行集合(collection)请求,其提供和 postman 桌面端一致的功能,可以集成在工作流的 ci/cd 中。
# 安装npm install -g newman# 运行文件newman run mycollection.json# 运行 urlnewman run https://www.postm双十一主题活动an.com/collections/cb208e7e64056f5294e5 -e dev_environment.json
另外 postman 提供了很多团队协作需要的付费功能,例如:文档、监控、健康检查等。
版权声明
本博客所有的原创文章,作者皆保留版权。转载必须包含本声明,保持本文完整,并以超链接形式注明作者后除和本文原始地址:https://blog.mazey.net/1878.html
github:mazeyqian
blog:blog.mazey.net
到此这篇关于postman 使用指南及小技巧的文章就介绍到这了,更多相关postman 使用内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 01:06:21,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/f983f97a222660bbf0c72b48e559d66f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Postman 使用指南及小技巧.doc
本文 PDF 下载地址:Postman 使用指南及小技巧.pdf
留言与评论(共有 0 条评论) |