Postman的发展史
Postman是一款强大的API开发和测试工具,它于2012年创建,最初是作为一个Chrome浏览器插件推出的。由于其大受欢迎,随后推出了web网页版和桌面客户端。现在,Postman已经成为互联网开发中最流行的API测试工具之一。
它是由Abhijit Kane、Abhinav Asthana和Ankit Sobti三位创始人共同创立的企业。
KIMI搜索了一下创始人的信息 :Postman的三位创始人Abhijit Kane、Abhinav Asthana和Ankit Sobti都具有扎实的技术背景和丰富的职业经验。
-
Abhinav Asthana:
- 他是Postman的首席执行官兼联合创始人。Asthana从小就对编程充满热情,他的父亲是一位土木工程师,也对计算机感兴趣,这影响了Asthana早期对计算机的探索。他最初学习了C、C++和Visual Basic编程,后来也开始了Web编程。
- 在雅虎印度班加罗尔研发中心实习期间,他遇到了未来的联合创始人Ankit Sobti,并开始开发调用API的软件。
- 完成学业后,他创立了自己的第一家公司TeliportMe,将之前的虚拟旅游想法产品化,并构建了一款移动应用。也是在这里,他开始与未来的联合创始人和首席产品官Abhijit Kane合作。
-
Ankit Sobti:
- 他是Postman的联合创始人兼首席技术官。Sobti曾在Media.net担任产品经理,并在德里印度理工学院和印度商学院(ISB)学习。
- 他在雅虎印度班加罗尔研发中心与Abhinav Asthana共事,后来加入了Asthana的初创公司TeliportMe。
-
Abhijit Kane:
- 他是Postman的联合创始人。Kane在技术领域有着坚实的基础,他在Birla Institute of Technology and Science (BITS) Pilani攻读计算机科学和经济学双学位。
- 他的职业生涯始于在知名科技公司的实习和职位,最终参与创建了Postman这一关键的API开发工具。
- Kane曾在Walmart Labs担任软件工程师。
起初我们大部分使用Postman就是发起一下接口调用,深挖一下,居然挖到宝藏(它还有一列强大到无比的功能)。
Postman最基本的都能干什么?
常见类型的接口请求:Postman支持发送GET、POST、PUT、DELETE等常见的HTTP请求方法。
- 接口响应数据的解析:Postman能够解析并格式化显示JSON、XML等格式的响应数据。
- 接口管理(Collection):用户可以将相关的请求组织成集合(Collection),方便管理和复用。
- 批量执行接口请求:Postman允许用户批量执行接口请求,以达到手工回归测试的目的。
- 日志调试:Postman提供了日志调试功能,允许用户在脚本中编写打印语句,查看打印的结果。
- 断言:用户可以编写断言脚本来验证API的响应是否符合预期。
- 变量:Postman支持变量的使用,方便在不同环境或请求中复用数据。
- 请求前置脚本:用户可以在发送请求前执行JavaScript代码,进行数据的预处理。
- 接口关联:Postman支持接口之间的数据关联,方便传递参数。
Postman有哪些高级功能?
- 读取文件进行参数化:Postman支持从文件中读取数据,进行参数化处理。
- 生成测试报告:用户可以生成详细的测试报告,用于项目文档或团队分享。
- 代码中发送请求:Postman允许在代码中发送请求,支持多种编程语言。
- 编写接口文档:Postman提供了编写和分享API文档的功能,方便API的管理。
- Mock服务:用户可以创建Mock服务,模拟API的响应,用于前端开发或测试。
- 监控:Postman支持API的监控,可以定期检查API的可用性和性能。
- 使用工作空间:Postman的工作空间允许团队成员共享集合、文档和监控配置。
- 代码同步与分支管理:Postman支持Git集成,方便代码的同步和分支管理。
- 连接数据库:Postman支持连接数据库,进行数据的查询和操作。
还有什么厉害的?
除了以上的功能还有什么呢?接下来要说的这个就厉害了——Postbot。Postbot可以帮我们写代码、进行接口执行的bugfix等。
实操
怎么在Postman上进行接口自动化测试?
(1)首先创建一个collections ,并在collections下创建需要进行测试的API。
(2)为接口编写前置执行脚本
(3)为接口编写后置校验或逻辑:
下图为验证接口调用httpcode为200。除了这些,还可以校验返回值,作为接口自动化的结果校验
怎么在Postman上进行并发测试?
- 进入collections run
- 设置并发参数
-
怎么在Postman上进行性能测试?
- 在collections下创建需要进行性能测试的接口请求,先调通接口,确保接口满足业务需求。
- 支持变量
- 接口的Scripts下编写接口响应结果断言
pm.test("Response time is less than 1000ms", function () {
pm.expect(pm.response.responseTime).to.be.below(1000);
});
- Run collection
设置执行参数:
(1)Iterations:表示要执行的请求迭代次数,即请求发送的次数。根据需要设置一个合适的值,一般来说,为了获得更准确的性能数据,可以设置较大的迭代次数,如100次、500次等。
(2)Delay:每个请求之间的延迟时间,以毫秒为单位。如果需要模拟真实用户的操作间隔,可以设置一定的延迟时间,否则可以设置为0。
(3)Concurrency:并发数,即同时发送请求的数量。通过调整并发数,可以测试API在不同负载情况下的性能表现。可以从较小的并发数开始,逐渐增加并发数,观察API的响应时间和吞吐量等指标的变化。 - 最后查看执行结果:在测试运行过程中,可以实时查看请求的执行进度、成功率、平均响应时间等指标。如果某个请求失败,Postman会显示详细的错误信息,方便排查问题。
上图跟jmeter、其他性能测试工具看到的性能结果信息基本是一样的,是不是很方便。
怎么在Postman上进行调试?
使用Console进行调试:
Postman提供了一个内置的Console,允许你在发送请求前后执行JavaScript代码。
在“Pre-request Script”选项卡中,可以编写JavaScript代码,这些代码在请求发送前执行。这可以用来修改请求头、请求体或者设置环境变量等。
在“Tests”选项卡中,可以编写JavaScript代码,这些代码在请求发送后执行。这通常用于验证响应数据是否符合预期,或者进行一些响应后的处理。
怎么利用PostBot编写测试和bugfix?
让postbot来帮忙写脚本
(1)切换到Scripts
(2)定位到写的行上,点击postbot图标,开始输入
(3)写出提示词后提交,postbot就会帮忙写代码了
比如:我输入 “1、验证args结果不为空 2、foo1等于bar1,3、foo2等于bar2,bar2”,输入后postbot帮我增加了对应的3个校验:
pm.test("Verify args in the response body is not empty", function () {
pm.expect(pm.response.json().args).to.not.be.empty;
});
pm.test("Verify foo1 equals bar1", function () {
pm.expect(pm.response.json().args.foo1).to.eql("bar1");
});
pm.test("Verify foo2 contains bar2", function () {
pm.expect(pm.response.json().args.foo2).to.include("bar2");
});
执行一下,增加的3个校验都检验通过了:
让Postbot来进行bugfix
在Scripts里预埋一个语法问题:
执行后提示:
点击 【Fix test】:Postbot进行修复。它真的可以修复。
还可以让Postbot做什么?
在底部有postbot,可以唤起postbot对话框,这里就可以让它做一下你需要做的事情。
这一篇先总结到这里。
如果你也知道postman其他的强大的功能也可以在评论区分享给我哦!这么强的工具值得深入研究和学习。