快速掌握Postman接口测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快    

一、前言

在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的进度跟不上,都无法及时完成功能模块的测试。

做为后端开发人员,要求独立开发完成某个接口后,开发人员自己需要先测试通过后再提交给测试人员进行测试,否则会出现到测试人员哪里业务流程根本就走不通,或者BUG会过多的情况等。

市场上有很多优秀的,完善的接口测试工具,比如SoapUI,Postman等,能够高效的帮助后端开发人员独立进行接口测试。这里使用Postman接口测试工具,此处以请求方式为POST的userLogin登录接口为例。

二、Postman安装和使用

1、这个直接去官网下载即可,我们使用免费版即可满足基本接口测试,根据个人或者公司的项目实际情况考虑是否需要专业版或者其他。
免费版官网链接: Postman
下载好的安装程序Postman-Win64-xxx-Setup.exe,双击安装即可。建议安装在非系统盘,即C盘在外的其他盘,另建议使用全英文路径,避免使用中文路径。

2、打开Postman如下图2-1,可以关闭该页面跳过注册账户,非登陆状态下该工具可以直接使用。接下来出现引导页面,类似IDEA,Android Studio等开发工具的引导页。此处关闭即可。

图2-1注册账户图
图2-2项目创建引导图

3、进入Postman主页面并创建项目接口集合

这里是我之前用过,所以左侧文件栏存在几个已有的文件夹。
选择功能菜单New下的Collection创建项目接口集合。新建一个亿的项目A hundred million,可在Description部分写一下项目描述。

图2-3Postman主页面

图2-4新建项目接口集合图

4、创建项目模块文件夹

一般项目会分多个管理模块或者功能模块进行开发。这里可根据项目具体情况创建子文件夹方便接口管理。此处在A hundred million项目右键创建资产管理assets文件夹、user用户管理文件夹。可将测试的接口实例保存在对于管理模块下。

图2-5新建资产管理文件夹

5、后台登录接口演示

开发完成后台接口,编写正确严谨的逻辑代码处理前端请求。此处登录接口代码如下,运行后台开发项目,使该接口能够访问。接口请求路径为:http://localhost:8080/manage/app/user/login

@Controller
@RequestMapping("/manage/app/")
@Scope("prototype")
public class AppUserController {/*** 日志*/
public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");@Resource
private AppUserService appUserService;/*** 用户登录* @param baseResult* @return*/@RequestMapping(value = "user/login" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)@ResponseBodypublic BaseResult loginUser(@RequestBody BaseResult baseResult) {customFile.info("appId:"+ baseResult.getTreasureID()+ "用户登陆访问:" + baseResult.toString());return appUserService.loginUser(baseResult);}
}

6、新建接口测试

在Postman主页面Content部分点击'+'按钮,新增一个接口测试。在图2-6所示第一部分填写接口请求路径,左侧下拉列表可选择请求方式,此处选择POST请求方式。接口请求路径为http://localhost:8080/manage/app/user/login。第二部分是请求体,即包含接口所需请求参数的Body,此处选择原始数据RAW,数据类型使用JSON数据作为请求数据。点击蓝色Send按钮发送请求,后台项目接口接收请求并响应返回执行结果。此处后台处理数据返回结果仍是JSON数据,这个看实际项目而定,此处仅做演示。第三部分是接口响应体,即接口响应请求处理并返回的数据。点击Pretty自动匹配接口返回的数据格式并对数据美化显示,使数据看起来更加直观。如果接口测试出现异常,则可以通过PreView视图查看浏览器响应接口的页面信息,也可以通过Header了解请求状态等参数。一般出现异常还是直接去后台看控制台的异常信息及项目日志来处理解决异常,再进行接口测试。

图2-6接口测试图

接口测试通过后,可Ctrl+S保存接口测试实例,填写接口测试名称和接口描述信息,选择要保存的路径,此处保存在user用户管理模块文件夹。当项目的接口全部测试通过后,可在A hundred million项目右键Export导出接口文档,保存为JSON接口测试文件,该文件可通过Postman导入查看。

三、请求方式

对于后台开发的接口,请求方式肯定不止POST一种,Postman也支持多种请求方式。在新建接口测试实例时可选择接口的请求方式,如图3-1。

图3-1接口请求方式图

请求类型可以模拟Form表单文本提交,Form表单文件提交,raw原始数据提交,二进制文件提交。对于原始数据类型raw还支持不同文件格式,包括JSON,TXT,HTML等多种文件格式。

图3-2数据请求类型图

四、资金记录接口实例演示

后台开发接口如下,服务器部署运行后台项目。接口请求路径为:http://localhost:8080/manage/app/user/asset/withdrawRecord

@Controller
@RequestMapping("/manage/app/")
@Scope("prototype")
public class AppUserAssetController {/*** 日志*/public static Logger customFile = LoggerFactory.getLogger("manageCustomFile");@Resourceprivate AppUserAssetService appUserAssetService;/*** 获取提现记录* 即我的页面中的资金记录* @param baseResult* @return*/@RequestMapping(value = "user/asset/withdrawRecord" , produces = "application/json;charset=UTF-8", method = RequestMethod.POST)@ResponseBodypublic BaseResult getUserWithdrawRecord(@RequestBody BaseResult baseResult){customFile.info( "appId:"+ baseResult.getTreasureID() + "用户提现记录获取"+baseResult.toString());return appUserAssetService.getUserWithdrawRecord(baseResult);}
}

新建资金接口测试
请求方式为POST,
请求URL为http://localhost:8080/manage/app/user/asset/withdrawRecord
请求体为JSON类型的原始数据
点击Send请求接口,接口响应请求处理返回结果如图3-3所示

图3-3资金记录接口测试图

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1539509.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

简述混沌神经网络

混沌神经网络是一种结合了神经网络与混沌理论的新型智能信息处理系统。以下是对混沌神经网络的详细解析: 一、定义与背景 混沌神经网络是由于神经网络具有高度非线性动力学系统的特性,而混沌又具有无规则性、遍历性、随机性等特点,因此神经网…

豆包MarsCode IDE 搭建 VitePress 博客并使用 GitHub 部署

以下是「 豆包MarsCode 体验官」优秀文章,作者粥里有勺糖。 创建豆包MarsCode 项目 还没有注册登录的可以访问 www.marscode.cn/introductio… 登录并进入IDE界面 在左上角和右上角都有创建项目的入口。 选择 Node.js 项目进行创建。 创建后可以看到项目列表里只是…

monaco editor 在react中的使用

1. 首先先导入monaco editor npm install monaco-editor// npm install monaco-editor --force // 版本冲突? 强行安装 2. 在react中使用 期望效果如下 3. 我遇到的问题 : 输入json数据后 未格式化 , json数据仍然一行展示 我遇到的问题 : 直接输入json数据会白屏报错…

安卓 uniapp跨端开发

HBuilder X 4.24 本地插件方式使用原生插件 例如 MT-TTS 地址PS: 播放 speek({text: ‘test’}) 应为 播放 speak({text: ‘test’})MT-TTS下载下来之后,将 nativeplugins 文件夹拷贝到 uniapp 项目根目录中manifest.json ---- App原生插件配置 运行 语音引擎测试文字转语音播…

基于CNN的10种物体识别项目

一:数据导入和处理 1.导入相关包: import numpy as np import pandas as pd import matplotlib.pyplot as plt import tensorflow as tf2.下载数据 (x_train_all, y_train_all), (x_test, y_test) tf.keras.datasets.cifar10.load_data()# x_valid:测…

基于springboot的智慧社区微信小程序

文未可获取一份本项目的java源码和数据库参考。 本课题研究目标 本文主要对小区生活服务平台的功能和非功能需求进行了分析,系统除了提供物业保修、小区资讯、投诉留言、常用电话等基础功能外,为了满足用户的多样化需求,还提供邻里圈子和有…

sheng的学习笔记-AI-归纳逻辑程序设计(ILP)

AI目录:sheng的学习笔记-AI目录-CSDN博客 规则学习(rule learning): sheng的学习笔记-AI-规则学习(rule learning)-CSDN博客 一阶规则学习: sheng的学习笔记-AI-FOIL(First-Order Inductive Learner)-CSD…

Tiny-universe学习笔记1:Qwen-blog

本文是参与Datawhale Tiny-universe组队学习的第一篇学习笔记,参考链接:https://github.com/datawhalechina/tiny-universe Tiny-universe学习笔记1:Qwen-blog Qwen整体架构与Llama2类似,具体如下图所示: 其中&#…

1 elasticsearch安装

【0】官网参考 https://www.elastic.co/guide/en/elasticsearch/reference/7.11/targz.html 【1】Centos7 下载安装 【1.1】下载 官网:Download Elasticsearch | Elastic 选择好自己想要的相关版本即可; 【2】Centos7.X 前置环境配置(uli…

C# 访问Access存取图片

图片存入ole字段,看有的代码是获取图片的字节数组转换为base64字符串,存入数据库;显示图片是把base64字符串转换为字节数组再显示;直接存字节数组可能还好一点; 插入的时候用带参数的sql写法比较好;用拼接…

汽车应用生态系统的飞跃

在过去的几年里,汽车系统经历了前所未有的变革,驾驶员和乘客对于车内体验的期待已远远超越了传统的驾驶范畴。随着技术的不断进步,基于Android Automotive OS(AAOS)和Google Automotive Services(GAS&#…

毕业设计选题:基于ssm+vue+uniapp的农产品自主供销小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…

力扣 167.两数之和||—输入为有序数组

文章目录 题目介绍解法 题目介绍 解法 利用相向双指针&#xff0c;初始时l在最用左边&#xff0c;r在最右边 1.numbers[l] numbers[r] < target 则 l 2.numbers[l] numbers[r] < target 则 r 3.numbers[l] numbers[r] target 说明找到了答案 class Solution {publi…

WPF DataGrid 单元格居中,头部居中,点击行改变背景色。

我得全局样式都写在了App.XAML文件下的ResourceDictionary里&#xff0c;方便全局引用 DataGrid样式和点击改变行背景色的触发器(BasedOn继承的是UI框架的样式&#xff0c;若无则删除&#xff0c;触发器还有鼠标移动事件等&#xff0c;按需自行修改添加) <Style x:Key&quo…

联想正式在印度生产AI服务器!致力于在印度开发世界“尖端”技术真的能实现吗?|AI日报

文章推荐 OpenAI以1500亿美元公司估值向投资者筹集65亿美元&#xff01;安卓版谷歌Gemini Live免费上线&#xff5c;AI日报 今日热点 联想集团将在印度生产AI服务器 联想集团周二宣布&#xff0c;将开始在其位于印度南部的工厂生产AI服务器&#xff0c;并在班加罗尔的科技中…

Vue3(一) Vite创建Vue3工程,选项式API与组合式API;setup的使用;Vue中的响应式ref,reactive

文章目录 一、创建Vue3工程1. vue-cli方式2. vite方式3. 项目小说明4. 安装插件&#xff1a;(1) Prettier--整理格式(2) Vue-official 二、 OptionsAPI 与 CompositionAPI1 选项式API的弊端2 组合式API的优势 三、setup1. 基本使用2 setup与组合式API3 setup语法糖 四、Vue中的…

[Redis][String][上]详细讲解

目录 0.前言1.常见命令1.SET2.GET3.MSET && MGET4.SETNX && SETXX 2.计数命令1.INCR2.INCRBY3.DECR4.DECYBY5.INCRBYFLOAT6.注意 0.前言 字符串类型是Redis最基础的数据类型&#xff0c;关于字符串需要特别注意&#xff1a; Redis中所有的键的类型都是字符串类…

【南方科技大学】CS315 Computer Security 【Lab3 Format String Vulnerability】

目录 Lab OverviewLab TasksTask 1: The Vulnerable ProgramTask 2: Understanding the Layout of the StackTask 3: Crash the ProgramTask 4: Print Out the Server Program’s MemoryTask 5: Change the Server Program’s MemoryTask 6: Inject Malicious Code into the Se…

Vue2学习笔记(02条件渲染 、监视数据的原理)

1、v-if和v-show的区别 2、Vue监视数据的原理

gcc升级(含命令行升级、手动升级两种方式)

gcc升级 1.yum源替换1.1 备份原始repo配置文件1.2 重新配置CentOS-Base.reporepo文件1.3 清除缓存并重新创建 2. gcc安装3.命令行升级gcc4.手动升级4.1 安装包下载4.2 解压4.3 gcc升级4.3.1 依赖拉取4.3.2 gmp安装4.3.3 mpfr安装4.3.4 mpc安装4.3.5 gcc编译、安装 4.4 gcc命令配…