Postman接口测试接口图文教程

简介: 现在很多公司的项目都使用前后端分离的开发模式,这样不仅仅能提高开发效率,还能方便维护。在进行前后端分离开发时,后端的开发人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性,这就需要前后端的开发人员的开发进度保持一致,但是就算是这样也提高了测试的难度,不利于及时完成功能模块的测试。所以后端开发人员,在独立开发完成某个接口后,需要自己先进行测试,这样不仅能提高开发的效率,而且还能减少送测时的bug。

1 前言


现在很多公司的项目都使用前后端分离的开发模式,这样不仅仅能提高开发效率,还能方便维护。在进行前后端分离开发时,后端的开发人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性,这就需要前后端的开发人员的开发进度保持一致,但是就算是这样也提高了测试的难度,不利于及时完成功能模块的测试。所以后端开发人员,在独立开发完成某个接口后,需要自己先进行测试,这样不仅能提高开发的效率,而且还能减少送测时的bug。


我们都知道前后端分离的开发模式就是前端页面的某个功能调用后台的对应的功能接口,然后后台再将具体的数据返回给前台即可。所以后端测试的时候只需要模拟该请求即可,这时候就需要使用接口测试工具。目前市场上有很多优秀且完善的接口测试工具,比如SoapUI,Postman等,这些都能够高效的帮助后端开发人员独立进行接口测试。我们公司使用的是Postman接口测试工具,,这也是目前使用较多,比较主流的接口测试工具。这篇文章就详细的介绍下Postman以及如何使用它。


2 实战


Postman的下载安装比较简单,直接去官网:www.postman.com/postman/下载,…


ee2487a89b08436a92cccad20831b202~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


下载完成后,直接双击Postman-win64-5.5.2-Setup.exe应用程序,即可进行安装。


安装完成后,会出现下面的页面,可以注册一个账号,也可以关闭下面的页面跳过注册账号。


fd9b278d8e0441dda0311f832783fd5c~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


进入postman主页面以后,会默认出现创建新项目的弹窗。


d856ae3bf84344efb5bd732eadcb8318~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


接下来再看看具体的主页面的功能和说明:


8f6c1addb4434e25acc268f53f5721db~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


接下来正式进行测试。在之前的一篇文章:SpringBoot开发Restful风格的接口实现CRUD功能,这里我们还以这个项目的接口为实例,来进行接口测试的演示。


首先我们创建一个collection,方便以后查找测试记录。


232bba105e614ab782b1a6a5813ef760~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


Authorization是验证是否拥有从服务器访问所需数据的权限。当发送请求时,通常必须包含参数,以确保请求具有访问和返回所需数据的权限。Postman提供了授权类型,可以轻松地在Postman本地应用程序中处理身份验证协议。


4c163e929df0441d83b96d56297fbe39~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


77fa6316dbc24f7592b85f66b729f4a3~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


以上两个在创建集合和接口的时候都有,一个是对集合有效,一个是对某个具体的接口,作用一样。


具体说明:


1、Inherit auth from parent (从父类继承身份验证)


向集合或文件夹添加授权。假设我们在集合中添加了一个文件夹。在授权选项卡下,默认的授权类型将被设置为“从父类继承auth”。“从父”设置的“继承auth”指示默认情况下,该文件夹中的每个请求都使用父类的授权类型。


2、No Auth


默认情况下,“No Auth”出现在下拉菜单列表中。当不需要授权参数发送请求时,使用“No Auth”。


3、Basic Auth


是基础的验证,所以会比较简单 会直接把用户名、密码的信息放在请求的 Header 中


4、Digest Auth


要比Basic Auth复杂的多。使用当前填写的值生成authorization header。所以在生成header之前要确保设置的正确性。如果当前的header已经存在,postman会移除之前的header。


5、OAuth 1.0


postman的OAuth helper让我们签署支持OAuth。1.0基于身份验证的请求。OAuth不用获取access token,我们需要去API提供者获取的。OAuth 1.0可以在header或者查询参数中设置value。


6、OAuth 2.0


postman支持获得OAuth 2.0 token并添加到requests中。


7、Bearer Token


Bearer Token是安全令牌。任何带有Bearer Token的用户都可以使用它来访问数据资源,而无需使用加密密钥。


139a7b64f8124135a021b36b164ce41b~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


6defbba359a54274844a826ce887e4f6~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


Pre-request Script是集合中请求发送之前需要执行的代码片段。请求参数中包含一个随机数或者请求header中包括一个时间戳,或者我们的请求参数需要加密。也是在collection和具体的接口都有,作用一样。


5c87e06981b54d05b85a7749287d0c5c~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


比如上面的Pre-request Script脚本就是获取时间戳,并设置为环境变量。


d30ede47e46249cb8c62cbd6bc5fd69b~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


fa0c21e08bdb4b37bfdb5b6760c001f4~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


tests脚本是用做测试结果断言,支持js语法。是在完成API访问并得到其response回应之后运行的脚本,一般用于获取response的内容,用于之后的其他操作。Test脚本需要在某个指定的函数pm.test(…)中执行才会被识别,且作为test脚本运行,比如:


pm.test("这里是测试描述",function(){
    //需要执行的代码
});
复制代码


第一个参数是测试描述(会在测试结果栏显示),


第二个参数是一个函数,具体执行代码都在这个函数中运行。pm对象是Postman的主要对象,所有的内置函数,数据调用等,都需要通过它来实现。


在创建collection的时候还有个valiables标签,这是用来创建变量值的:


e61478edb8074e278b9751c32f6d87de~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


变量允许我们在多个地方重复使用值,这样可以让我们的代码更高效(不用重复工作)。此外,可以更改一次变量值,就能改变其他代码中的所有相关联的值。


比如有3个使用相同域名的API端点your-domain.com。我们可以在该网站保存为一个变量,而不是重复的值,可以使用在请求构建器中使用{{domain}}/endpoint1和{{domain}}/endpoint2。那么,如果我们的域更改为another-domain.com,则只需要更改此值一次就可以了。


介绍完以上的概念,我们正式进行测试。由于这里使用的是以前的代码,所以如果有不清楚的可以阅读:SpringBoot开发Restful风格的接口实现CRUD功能,并且项目源码已经同步至github,github地址在顶部。


postman支持很多的http请求,具体的如下图所示。 请求类型可以模拟Form表单文本提交,Form表单文件提交,raw原始数据提交,二进制文件提交。对于原始数据类型raw还支持不同文件格式,包括JSON,TXT,HTML等多种文件格式。这里我们具体演示如何测试post、get、delete、put请求,其他的请求也类似。


9d4984d9ac9b4fd3a00660e982b65fa9~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


813a67eeb1be4249bdf1678933a4b30d~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


首先来验证get请求


c5ce47faace04cfb9a1fbb7e6a02498c~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


测试根据姓名查询数据:


44093b1666e24c7599c3ab6c2ae86cba~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


接下来来验证delete请求


63e1bfc2ce534534b9b91e087ec476e3~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


数据库中id为3的数据已经被删除了:


54169ed07389474b814efdcd1dbfdd99~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


测试put请求:


c4b583c3b6934fc69f38201b12d761f8~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


数据库中id为2的数据已被更新:


bb3dde753e954b0eba28f7508ff66418~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


测试post请求


ace908dd89564264ba651440e2dadbd8~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


数据库中新增了id为3的数据:


a81d86cd054a4e9bb807e4a2aa73973b~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


3 Mock Server


Mock Server就是一个服务器,即针对某个特定的接口,返回我们自定义的返回值的工具。通常在需要调用第三方服务的开发或在前后端分离的开发中,前后端开发人员可以约定接口的名称、请求参数、返回结果等等,在后端人员未完成接口开发工作的情况下,前端利用Mocke Server模拟出对应接口,拿到返回数据来调试,无需等后端开发人员完成工作。即我们可以理解前面的http请求的调试时模拟前端访问后端的代码,测试后端代码逻辑是否正确(前端没有开发好,后端开发人员自测),而Mocke Server则是模拟假设后端返回了前端需要的数据,测试前端的功能(后端没有开发好,前端自测)。


假设我们需要前后端开发某个功能模块但是后端接口没有开发好,这时候我们可以搭建一个Mocke Server来自测前端的逻辑是否正确。假设请求的接口是:


/localhost:8080/do/user/usrall
复制代码


‍返回的数据样例:


{
    "code": 200,
    "msg": "请求成功",
    "data": [{
            "name": "张三",
            "age": 24,
            "email":"123@qq.com",
        },
        {
            "name": "李四",
            "age": 26,
            "email":"258@qq.com",
        }
    ]
}
复制代码


点击New,然后选择Mocke Server,然后填写请求的地址,以及response body。接着写一个自定义的Mocke Server的名字,点击create创建Mocke Server,即可获得一个URL,


91e396cbbd6540e48e1cc8c98c298c6f~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


13345a6f799548aeb7ed335c4425649e~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


配置完成之后,postman会生成一个mock server的地址,我这里生成的URL是:


https://3dd39ca6-40bd-41ae-a045-ed80d1e5gac01.mock.pstmn.io
复制代码


76fd8d7ce56d446998e8ca4fdc252843~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg


接着点击run按钮启动Mock Server。在浏览器中输入刚刚生成的URL+自己的请求接口,发送请求,查看返回的数据验证是否成功即可。


https://3dd39ca6-40bd-41ae-a045-ed80d1e5gac01.mock.pstmn.io/localhost:8080/do/user/usrall
复制代码


4 结尾


以上就是如何使用postman的相关介绍以及如何使用postman进行接口测试。这里只是对其进行一个入门级的介绍以及对常用功能进行演示。当然postman的功能不仅仅这些,由于其他的功能在实际使用中使用的相对较少,这里就不进行演示,有兴趣的同学可以自行学习。如果有任何问题交流讨论。

目录
相关文章
|
7月前
|
人工智能 数据可视化 测试技术
Postman 性能测试教程:快速上手 API 压测
本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
Postman 性能测试教程:快速上手 API 压测
|
9月前
|
JSON JavaScript 测试技术
用Postman玩转电商API:一键测试+自动化请求教程
Postman 是电商 API 测试的高效工具,涵盖基础配置、自动化测试、环境管理与请求自动化,助你快速提升开发效率。
|
7月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
906 11
|
8月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1734 10
|
7月前
|
监控 测试技术 API
n8n自动化测试教程 (1):环境搭建与初识n8n
n8n是一款开源、可视化的工作流自动化工具,测试工程师可通过拖拽节点快速构建API测试流程,实现测试编排、数据管理、自动化监控与告警等功能,提升测试效率与覆盖率。
|
10月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1408 23
|
8月前
|
JSON 安全 测试技术
什么是API接口测试?这可能是全网最全的教程了!
API 是应用程序间的“中间人”,用于实现通信和数据交换。随着微服务架构的普及,API 数量激增,其质量对系统稳定性至关重要。API 测试可验证功能、性能与安全性,帮助开发者在部署前发现并修复问题,提升系统可靠性。测试内容包括请求方法、URL、请求头、请求体、响应状态码与响应数据等。常用工具如 Postman、AREX 可辅助测试,确保 API 在不同场景下的正确性与稳定性。
|
12月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1857 24
|
12月前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
12月前
|
存储 前端开发 数据可视化
Postman vs. Apifox 用于 API 测试全面对比
寻找一款可靠的 API 测试工具?这份对比分析将深入探讨 Postman 和 Apifox 的功能和特性。了解哪款工具最适合您的 API 测试需求。
下一篇
开通oss服务