【软件测试】接口测试中Post方法怎么测?

news2024/11/29 22:39:49

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。

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

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

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

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

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进行测试,最后生成了自动化测试用例及测试报告。

END今天的分享就到此结束了!点赞关注不迷路!


 

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

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

相关文章

Unity 2021 LTS / Unity 2022 LTS New Shader Graph Node 参考样本

Shader Graph团队很高兴地宣布发布新的节点参考样本,现在可用于2021 LTS, 2022 LTS和未来的版本。 节点参考样本是超过140个Shader图形资源的集合。您可以将这些图用作参考,以了解每个节点的作用及其工作原理,而不是在项目中使用这些图。每个…

计算机组成原理-总线(学习这一篇就够了!)

目录​​​​​​​ 一、总线概述与结构 1.总线原理: 2.总线分类 (1)片内总线: (2)I/O总线: (3)系统总线: 3.总线的特性 (1)…

知乎怎么快速涨粉?15个实用方法让你迅速积累粉丝

**一、自我介绍** 大家好,我是知乎上的一个普通用户,我在这篇文章中将会分享一些关于如何涨粉的最实用的方法。我相信,只要你们按照这些方法去做,你们也会像我一样,迅速积累起大量的粉丝。 **二、方法分享** **1. 优…

深度学习之基于Yolov5的车流或人流量密度统计

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 YOLOv5 DeepSort 车流/人流量密度统计介绍YOLOv5DeepSort车流/人流量密度统计 二、功能三、系统四. 总结 一项目简介 YOLOv5 DeepSort 车流/人流量密度统计…

持续集成指南:GitHubAction 自动构建+部署AspNetCore项目

前言 之前研究了使用 GitHub Action 自动构建和发布 nuget 包:开发现代化的.NetCore控制台程序:(4)使用GithubAction自动构建以及发布nuget包 现在更进一步,使用 GitHub Action 在其提供的 runner 里构建 docker 镜像,之后提交到阿…

美联储暂停加息 黄金代理要“笑嘻嘻”?

在11月的议息会议上,美联储再次宣布暂停加息。这是继九月份以后,美联储再次做同样的决定,目前已经实现了2连停。停止加息意味着美元资产的吸引度下降,美元指数将会受压,现货黄金价格因为美元的走弱可能上涨&#xff0c…

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册

晨控CK-FR08读卡器与汇川PLC连接EtherCAT通讯手册 晨控CK-FR08系列是一款基于射频识别技术的高频RFID标签读卡器,读卡器工作频率为13.56MHZ,支持对I-CODE 2、I-CODE SLI等符合ISO15693国际标准协议格式标签的读取。 读卡器同时支持标准工业通讯协议Eth…

一文讲透IGBT工作原理 | 百能云芯

在实际应用中最流行和最常见的电子元器件是双极结型晶体管 BJT 和 MOS管。 IGBT实物图电路符号图 你可以把 IGBT 看作 BJT 和 MOS 管的融合体,IGBT具有 BJT 的输入特性和 MOS 管的输出特性。与 BJT 或 MOS管相比,绝缘栅双极型晶体管 IGBT 的优势在于它提…

Linux Control Cgroups

无论 Docker 如何进行隔离,无法否认的是我们在当前宿主机中运行的所有容器,它依赖的硬件资源都只是当前机器。 其实启动的每一个容器进程,它本身其实就是当前宿主机的进程之一,那么本质上来说,它也会和宿主机中的其他…

接口测试自动化测试的总结与思考,超详细的~

服务端接口测试介绍 什么是服务端? 一般所说的服务端是指为用户在 APP 或 PC 使用的互联网功能提供数据服务的背后的一切。以天猫精灵智能音箱系列的产品链路为例,服务端便是网关(包括网关在内)之后的链路。 什么是接口? 官方点说&#…

国内也可以做伦敦金的吗?给你答案

虽然伦敦金是国际市场上的贵金属投资方式,但国内投资者同样有机会参与其中,最简单的方式就是通过香港的持牌平台,在网上开设一个账号,并往其中注入一定的资金之后,就可以展开交易。 国内投资者可以炒伦敦金&#xff0c…

Unittest框架--自动化

Python中方法的传递 参数化 pip install parameterized -i https://pypi.douban.com/simple需求:验证Tpshop登录 # 断言参数化 import time import unittest from parameterized import parameterized from selenium import webdriver from selenium.webdriver.co…

飞书开发学习笔记(七)-添加机器人及发送webhook消息

飞书开发学习笔记(七)-添加机器人及发送webhook消息 一.添加飞书机器人 1.1 添加飞书机器人过程 在群的右上角点击折叠按键…选择 设置 群机器人中选择 添加机器人 选择自定义机器人,通过webhook发送消息 弹出的信息中有webhook地址,选择复制。 安…

【Mysql】关于数据库增删查改的一些在线OJ练习

🌈欢迎来到Python专栏 🙋🏾‍♀️作者介绍:前PLA队员 目前是一名普通本科大三的软件工程专业学生 🌏IP坐标:湖北武汉 🍉 目前技术栈:C/C、Linux系统编程、计算机网络、数据结构、Mys…

YOLOV5部署Android Studio安卓平台NCNN

坑非常多,兄弟们,我已经踩了三天的坑了,我这里部署了官方的yolov5s和我自己训练的yolov5n的模型 下载Android Studio,配置安卓开发环境,这个过程比较漫长。 安装cmake,注意安装的是cmake3.10版本。 根据手机…

世界上最便宜好用的服务器低至 $9.99 / 年

世界上最便宜好用的服务器低至 $9.99 / 年 是一个非常爱搞促销的商家,目前只有一个洛杉矶 DC 机房,每次促销给的流量很足,下面总结的促销套餐,经过测试竟然完美超过甲骨文 1 核 6G 的机器,不仅仅 io 完胜,而…

svg图标最简单的使用方式

svg图标最简单的使用方式 使用svg图标1. 复制图标的svg代码2. 新建个存放svg图标的目录&#xff0c;新建.vue文件3. 在<template>标签内粘贴svg的代码4. 在代码中也可以调整颜色和大小5. 在组件中引用6. svg做的图标要独占一行,使用布局将它安排到合适的地方 使用svg图标…

【JavaEE初阶】 HTML基础详解

文章目录 &#x1f38b;什么是HTML&#xff1f;&#x1f340;HTML 结构&#x1f6a9;认识标签&#x1f6a9;HTML 文件基本结构&#x1f6a9;快速生成代码框架 &#x1f384;HTML 常见标签&#x1f6a9;注释标签&#x1f6a9;标题标签: h1-h6&#x1f6a9;段落标签: p&#x1f6…

NFG数字藏品:潮流文化与科技的完美结合

​小编介绍&#xff1a;10年专注商业模式设计及软件开发&#xff0c;擅长企业生态商业模式&#xff0c;商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地&#xff1b;扶持10余个电商平台做到营收过千万&#xff0c;数百个平台达到百万会员&#xff0c;欢迎咨询。 数…

[Python学习笔记]Python 性能分析

在上一章节 [Python学习笔记]Requests性能优化之Session 中&#xff0c;通过在 Resquests 中使用 session&#xff0c;将 Python 脚本的运行效率提升了 3 倍。但当时对问题的排查主要是基于程序实现逻辑的推断&#xff0c;并没有实质性的证据。 本次使用 Python 的性能分析工具…