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

官网地址:apifox.cn

post接口请求测试,通俗易懂相关推荐

  1. 接口压力测试:Postman【Postman通常用于做接口测试,同时也可以用于作为压力测试】、Jmeter【专门做压力测试】、Loadrunner、Apache AB、Webbench

    做开发的同学一定会遇到接口对接,今天介绍两个对接测试两个我个人认为比较好的测试工具 postman和jmeter 1.postman通常用于做接口测试,同时也可以用于作为压力测试 2.jmeter做压 ...

  2. jmeter异步请求测试怎么测试_JMeter接口测试之HTTP请求默认值

    不管是在UI级别的自动化测试还是在接口级别的自动化测试中,对公共数据数据的分离都是一种趋势,或者某种程度来说,这是自动化测试中必须要掌握的一种能力,是基本技能.这些公共数据就包含了测试地址,以及登录的 ...

  3. dubbo接口测试_Django测试工具平台之Dubbo接口请求 + 前端

    前言 本章内容主要完成以下几个内容: 1.记录Dubbo接口请求 2.搜索请求记录 3.前端页面完成 4.项目第一阶段展示 项目展示中主要演示在本地如何启动项目,进行调试.如果需要部署线上环境,可以去 ...

  4. php 模拟并发请求_PHP接口并发测试的方法

    PHP接口并发测试的方法 header('Content-type:text/html; Charset=utf-8'); $uri = "输入你的url"; $data = ar ...

  5. loadrunner发送json_Loadrunner模拟JSON接口请求进行测试

    Loadrunner模拟JSON接口请求进行测试 一.loadrunner脚本创建 1.Insert - New step -选择Custom Request - web_custom_request ...

  6. 【转】Postman系列四:Postman接口请求设置环境变量和全局变量、测试沙箱和测试断言、测试集运行与导入数据文件

    一:Postman中接口请求设置环境变量和全局变量 全局变量和环境变量可以通过Pre-request Script和Tests设置,会在下面测试沙箱和测试断言中讲到. 全局变量的设置:官网参考http ...

  7. 数据接口请求异常:parerror_接口测试用例编写和测试关注点

    一.为什么要做接口测试 在日常开发过程中,有人做前端开发,有人负责后端开发.接口就是连接前后台,由于前端开发和后端开发的速度可能不一样,例如后端开发好了,但是前端没有开发.那么我们是不是就不需要测试呢 ...

  8. 如何针对Grpc接口进行测试之三种方式

    什么是Grpc接口? 如何针对Grpc接口进行测试? 方法一 代码走查 方法二 Jmeter 1.官网下载插件 2.配置插件 3.重启jmeter 4.下载Grpc插件 5.使用Grpc插件进行接口测 ...

  9. 二、多并发实现接口压力测试

    一.flsak接口压力测试 import base64 import logging import os, cv2,time import urllib, glob import numpy as n ...

  10. 你写的接口都测试吗?测什么?怎么测?

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:https://www.cnblogs.com/puresoul/p/5388586.html 本文主要分为两个部分: 第一部 ...

最新文章

  1. pytest使用简介
  2. golang 时间日期 时区 格式 简介
  3. php替换文件中的数据库,批量替换php文件中的class,id的值
  4. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context
  5. C/C++ strlen函数为什么不能传入空指针NULL?
  6. linux sublime nodejs,Ubuntu环境下sublime3 nodejs安装与插件配置
  7. jieba中文处理的学习
  8. 高性能网关设备及服务实践
  9. API和Web API(1)
  10. Java NIO之DatagramChannel
  11. 修改android设备型号
  12. 托福听力速记符号单词表
  13. micropython 固件编译关于 spi psram opi qspi 的设置
  14. 回撤率 python_最大回撤和最大回撤率的区别?
  15. layui上传图片需携带额外参数
  16. 3款大数据bi工具,让企业数据分析更简单
  17. 我在创业公司的 “云原生” 之旅
  18. 全网最全Fiddler攻略,十分钟了解Fiddler抓包
  19. 在手机上怎么提取视频中的音频?就这么简单
  20. 为什么现在玩港美股的比玩A股的多?

热门文章

  1. 史上最完整基于Springboot实现进销存管理系统
  2. uniapp 日期插件_日期时间选择器
  3. JAVA分布式架构设计实例
  4. 爬取三个acm网站题库(neuqoj pku hdu)
  5. rtmp协议官方规范
  6. PDF中加入HTML,将PDF导入/嵌入到HTML中(For PDF)
  7. 微信整人假红包图片_整人的微信红包玩法!微信红包图片整人!
  8. 厦门大学考研:必知20大时间节点
  9. html+css实现天猫官网
  10. 打印预览和实际的打印不一致问题