Postman:一款被忽视的强大的API开发和测试工具

电子说

1.4w人已加入

描述

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曾在http://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其他的强大的功能也可以在评论区分享给我哦!这么强的工具值得深入研究和学习。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分