post接口请求测试,通俗易懂

news2024/11/15 7:12:50

目录

前言:

GET方法和POST方法传递数据的异同

POST方法如何传递数据

接口测试软件简介

POST请求接口的测试

测试方法

3.保存接口测试用例,生成自动化测试套件

总结


前言:

Post请求是HTTP中请求方法之一,用于向服务器提交数据并让它进行处理。Post请求不会将提交的数据显示在URL地址栏中,而是将数据发送到请求头中,安全性更高。

GET方法和POST方法传递数据的异同

http请求方法get和post是最常被用到的两个方法,get常用于向服务器请求数据,post常用于提交数据给服务器处理。 GET方法其实也可以传递少量的数据。 但它存在以下问题:
1)GET 方法不包含body,因此以在URL中拼接字段的方式传递数据, 2)GET方法中的URL参数会被显示到地址栏上,存在安全问题
3)传递的数据只能是键值对,无法传递其他类型的数据 因此出于传递大量、多种类型的数据和安全性的考虑,上传数据常使用post方法。

POST方法如何传递数据

POST方法提交数据给服务器,涉及到Content-Type和消息主体编码方式两部分。服务器根据请求头中的Content-Type来判断消息主体的数据格式和编码方式,数据则存储在body参数中上传。

body支持多种数据格式,如form-data,x-www-form-urlencoded,json,xml,raw,不同的数据类型有不同的优势,有自己擅长的业务场景。

例如:application/x-www-form-urlencoded是默认的数据类型,但是在传输大型文件的时候效率低下,multipart/form-data的报文的主体内则可以包含多部分对象,通常用来发送图片、文件或表单等,适用于传输大型文件。

接口测试软件简介

简单介绍下我们用来做接口测试的工具——Apifox(apifox.cn )。

Postman自然是接口测试工具领域的老大哥,但Apifox这类软件在于它整合了接口测试的整个流程——从接口文档导入到单个接口的测试,整个接口套件的管理,以及自动化测试,一站式服务省去了几个软件切来切去的麻烦,现在我们直接用它来演示。

它的官网下载地址也顺便挂一个:www.apifox.cn 是免费软件来着,大家下载完对着界面边看思路边操作,学习效果会好些。

它的软件界面长这样,我们直接在首页的接口管理tab进行测试即可。

POST请求接口的测试

Post接口请求的测试关键在于理解各个数据类型的含义,并且能构造相应的数据,对各种正常,异常和边缘情况进行测试。接下来会一一介绍下各个数据类型的含义,并用Apifox演示一下各个类型的数据如何测试。

1.application/x-www-form-urlencoded 原生的form表单,在body中的数据格式为键值对。下图所示为百度文字识别AI的一个POST请求接口,测试这个请求接口需要填入的数据有2项。

在header处填入Content-Type:

在body处填入要上传的数据:

点击发送,可以看到实际发出的请求为:

2.multipart/form-data 当数据较大的时候可以选择multipart/form-data

实际发起的请求,Content-Type和body传输的数据可以在[实际请求tab]中查看:

3.Json 在接口请求中填入Json数据

发出的实际请求的Content-Type和Body数据类型:

测试方法

根据接口文档的参数描述,设计接口测试用例,造出相对应的正常和异常数据参数,上传数据进行测试。

1.设计接口测试用例

举例:某开放平台API的接口文档参数描述如下:

根据请求参数,上传jpg,png,gif等格式的正常测试数据,再上传非图片的base64编码数据进行测试,查看请求返回。 以该接口image参数测试的部分用例来作为例子:

2.Apifox中执行用例

a.直接上传未经过编码的照片

b.上传非图片的base64编码

c.上传照片的base64编码:

3.保存接口测试用例,生成自动化测试套件

在测试管理tab导入测试用例,生成测试用例并一键运行

查看并导出测试结果:

总结

POST方法传递数据是接口测试中常见的测试点。 这篇文章主要介绍了为什么要用post方法来传递数据,post方法body传递参数的4种数据格式;设计用例并使用Apifox进行测试,最后生成了自动化测试用例及测试报告。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步! 

留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N5F7http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=8sFvl1Yi2ruJa1cqaaz0car85omUNLpx&authKey=vjglrc9OroNe2M%2F%2FA%2F%2B4JnNVTWfVWIt99KcXwqz%2F7dqHPCpZh97ZgT%2FHePxtriAs&noverify=0&group_code=574737577

 

 

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

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

相关文章

AI 绘画(2):Ai模型训练,Embedding模型,实现“人物模型“自由

文章目录 文章回顾感谢人员题外话Ai绘画公约Ai模型训练硬件要求显存设置查看显存大小显存过小解决方法 视频教程前期准备SD配置设置SD设置配置SD训练配置pt生成训练集收集训练集要求截图软件推荐训练集版权声明一键重命名图片训练图片来源批量修改图片尺寸 开始训练导入训练集&…

MQTTX的使用

1.MQTT介绍 MQTT是一种常用的物联网协议。MQTT(Message Queuing Telemetry Transport)是一种轻量级的发布/订阅通信协议,用于在物联网(IoT)和机器对机器(M2M)通信中传输消息。 MQTT协议被设计用…

013.【排序算法】合并排序法

1. 合并排序法 合并排序法是针对已经排序好的两个或两个以上的数列,通过合并的方式,将其组合成一个大的且排序好的数列。首先是将无序的数列分成若干小份,分若干份的规则就是不断把每段长度除以2(对半分),…

Jmeter断言详细使用教程

目录 前言: 断言介绍与使用 响应断言 断言持续时间 XML断言 1、响应断言 2、JSON Assertion 3、Size Assertion(见图知意) 4、JSR223 Assertion JSR223 Assertion实例: 5、XPath Assertion 6、Compare Assertion 7、断言持续时间…

如何获得忠诚的铁粉

目录 1.选择热门主题 2.提供独特观点(原创精神) 3.写作风格(目录定位分点总结) 4.提供有价值的内容 5.总结: 📢导语:赢得铁粉(粉丝)的支持对于一个作者来说至关重要。…

前端Vue加载中页面动画弹跳动画loading

前端Vue加载中页面动画弹跳动画loading&#xff0c; 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id13091 效果图如下&#xff1a; #### 使用方法 使用方法 <!-- ref:唯一ref top&#xff1a;距离中间顶部距离 --> <cc-loading ref&…

Postman大势已去,Apifox的时代已到来

目录 前言&#xff1a; 前情简介&#xff1a;亲身经历节选 Code: 403 “将我踢飞” 浓眉大眼的 Swagger 把我欺骗 工作提效的版本答案 为什么是Apifox 贴心为你 写在最后 前言&#xff1a; Apifox是一款基于web的API设计工具&#xff0c;提供了简洁明了的界面和丰富的…

Debezium系列之:Outbox Event Router

Debezium系列之&#xff1a;Outbox Event Router 一、认识Outbox Event Router二、使用发件箱模式进行可靠的微服务数据交换三、双写问题四、发件箱模式五、基于变更数据捕获的实现六、发件箱表七、发送事件到发件箱八、注册 Debezium 连接器九、主题路由十、Apache Kafka 中的…

交叉编译libcurl libosip libeXosip(包含openssl)

交叉编译libcurl ./configure --with-ssl/home/zx/zxapp/openssl-1.1.0l/output --without-zlib --enable-shared --enable-static --hostarm-linux-gnueabihf CCarm-linux-gnueabihf-gcc --prefix$PWD/build 交叉编译openssl ./config no-asm shared -fPIC --prefix/home/…

ColorUI 全网最全使用文档(建议收藏)

Color UI 我想大家都知晓吧&#xff0c;我就不过多阐述了&#xff0c;是 文晓港 大佬开发的一款适应于H5、微信小程序、安卓、ios、支付宝的高颜值&#xff0c;高度自定义的 Css 组件库.&#xff0c;属于出道即巅峰的史诗级大作&#xff0c;众所周知&#xff0c;万物皆可 Color…

【CEEMDAN-CNN-LSTM】完备集合经验模态分解-卷积神经长短时记忆神经网络研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

思科交换机与路由器基础命令(二)

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 作者会持续更新网络知识和python基础知识&#xff0c;期待你的关注 目录 一、静态路由与默认路由配置命令 1、静态路由 2、默认路由 3、查看路由表 三、使用ping命令测试连通性 1、排除物理故障&#xff…

Revit AVF纹理UV处理

这一周结束得太快了……在我们进入周末之前&#xff0c;这里有一些引人注目的话题&#xff1a; 使用 AVF 解释纹理 UV 映射人体细胞的详细 3D 模型 推荐&#xff1a;用 NSDT设计器 快速搭建可编程3D场景。 1、使用 AVF 解释纹理 UV 映射 不久前在 Revit API 讨论论坛中提出了…

发现一个高颜值流程图 - 亿图图示

今天给各位小伙伴们测试了一款高颜值的流程图制作工具——亿图图示。 对了&#xff0c;它不仅可以制作流程图&#xff0c;还可以制作思维导图、组织结构图、泳道图等等哦。接下来让我们一起测试学习下吧 一、简单介绍 亿图图示&#xff08;Wondershare EdrawMax&#xff09;是…

Vue 项目 实现阻止浏览器记住密码功能

前言 通常浏览器会主动识别密码表单&#xff0c;在你登录成功之后提示保存密码 &#xff0c; 密码保存到浏览器的 密码管理器中 ( 如下是谷歌浏览器 ) 这种行为是浏览器的行为 &#xff0c;这种操作也是为了方便用户的使用 现在的一个需求是要阻止这个保存密码的弹窗提示 实现…

为什么中国一有创新,就被说套壳?

今天来说点有意思的。 大家有没有发现一个现象&#xff1f;无论是2021年的鸿蒙系统&#xff0c;还是2023年的文心一言。每次中国科技有比较重大&#xff0c;具有独创性&#xff0c;且能吸引舆论关注的创新之后&#xff0c;似乎注定会出现一种言论&#xff1a;这东西啊&#xff…

redis缓存设计-Redis(七)

上篇文章介绍了redisCluster。 redis集群-Redis&#xff08;六&#xff09;https://blog.csdn.net/ke1ying/article/details/131217674 高并发缓存应对策略 缓存穿透 正常情况下&#xff0c;用户访问某条数据&#xff0c;第一次从数据库获取&#xff0c;后面会set进缓存&…

《Web应用技术》期末复习,更新中...

Web应用技术期末复习 一、MVCMVC概述&#xff1a; 二、Spring&#xff1a;Spring概述:&#xff08;1&#xff09;依赖注入&#xff08;Dependency Injection&#xff09;&#xff1a;&#xff08;2&#xff09;控制反转&#xff08;Inversion of Control&#xff09;&#xff1…

Win11下配置OpenCV with CUDA

前些天在B站上看到用OpenCV调用CUDA加速目标检测和关键点检测的教程&#xff0c;较Pytorch推理速度提升很明显&#xff0c;最近整了个RTX4070&#xff0c;所以就也想来试一试。由于刚换了电脑&#xff0c;没有相关环境&#xff0c;配置过程中踩了一些坑&#xff0c;因此有了这篇…