一.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 是免费软件来着,大家下载完对着界面边看思路边操作,学习效果会好些。

四.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方法body传递参数的4种数据格式;设计用例并使用Apifox进行测试,最后生成了自动化测试用例及测试报告。

大家有什么想讨论的欢迎私信我或者在评论区里发表你的见解喔!

接口测试中POST方法该怎么测?4种数据提交方式,测试用例设计和测试工具操作步骤全讲清相关推荐

  1. java语言的多态性及特点_Java中的方法的多态性有两种形式:( )和( )。_学小易找答案...

    [填空题]已知函数 ,则微分 . [填空题]. [单选题]71.用转动小滑板法车圆锥时产生( )误差的原因是小滑板转动角度计算错误. [单选题] [填空题]Java中的方法的多态性有两种形式:( )和 ...

  2. Android中的5种数据存储方式

    Android中的5种数据存储方式 Android中的5种数据存储方式 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是: 1 使用SharedPref ...

  3. Extjs中三种不同的数据提交方式

    Extjs中三种不同的数据提交方式 Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn ...

  4. 接口测试-post常见数据提交方式

    一般我们在就行接口测试的时候,post请求一般会有多种body参数提交方式. 今天给大家讲解一下post请求常见的数据提交方式: 一.multipart/form-data multipart/for ...

  5. PG中的几种数据类型转换方式

    PG中的几种数据类型转换方式 1.通过格式化函数进行转换 函数 返回类型 描述 示例 to_char(timestamp,text) text 把时间戳转换成字符串 to_char(current_t ...

  6. 通读《C++ primer plus》— C++中的5种数据类型转换方式

    通读<C++ primer plus>-记录一 C++中的5种数据类型转换方式 1.始化和赋值时转换 比如 int a=1; long b=2147483647; a=b; 上面的代码并不 ...

  7. 接口测试中Post方法怎么测?

    GET方法和POST方法传递数据的异同 http请求方法get和post是最常被用到的两个方法,get常用于向服务器请求数据,post常用于提交数据给服务器处理. GET方法其实也可以传递少量的数据. ...

  8. mybatisPlus中getOne方法如何只取其中一条数据(Wrapper有多条数据时)

    mybatis-plus中getOne方法只能取一条数据,如果取得多条数据会报错,要么换其他方法,要么只选择其中一条,在条件构造器Wrapper结尾加上.last("limit 1" ...

  9. python爬虫中三种数据解析方式

    一.正解解析 常用正则表达式: 单字符: .: 除换行以外所有字符 []:[aoe] [a-w]匹配集合中任意一个字符 \d:数字 [0-9] \D: 非数字 \w :数字.字母.下划线.中文 \W ...

  10. 他们从各大操作系统中发现了26个 USB 漏洞,用的是这款模糊测试工具

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 普渡大学的研究员 Hui Peng 和瑞士洛桑联邦理工学院的研究员 Mathias Payer 在多种操作系统(如 Linux.mac ...

最新文章

  1. 微服务+:服务契约治理
  2. php项目数据库连接设置,在PHP中设置数据库连接类
  3. Hibernate中自动生成数据库表的两种方式
  4. 错误sudo: pip: command not found解决方案
  5. mac终端操作文件或文件夹(持续更新)
  6. linux终端如何打开文件夹,如何从终端打开文件夹(带GUI)?
  7. AW_blog 在任意页设置文章的数量
  8. Poj 1755Triathlon 未Ac,先mark
  9. C/C++开发_C语言里类似C++的构造与析构
  10. 管理感悟:谈谈用户和需求
  11. 独立游戏佳作分享-001(FEZ、Braid、Super Meat Boy)
  12. 计算机专业复试有英语口语吗,计算机考研复试英语口语技巧
  13. Excel函数-数据库函数大全(Excel Database Functions)
  14. html5电子时钟怎么往上移动,html5旋转 怎样用HTML5制作旋转时钟
  15. 地质地貌卫星影像集锦(一 典型地貌篇)
  16. 以下7种硬件测试的种类,不知道的赶紧收藏了!
  17. 幼儿园故事导入语案例_幼儿园老师上课常用导入语 课前活跃气氛用这11种方法就对了...
  18. 阿里云 CentOS 7安装 Zimbra-8.8.15开源邮件系统
  19. C语言 精确定义圆周率
  20. 常微分方程求解在MATLAB,MatLab常微分方程及常微分方程组的求解

热门文章

  1. 国际国内资管分仓跟单软件的具体作用
  2. itools苹果录屏大师_有哪些好用的录屏软件?分享录屏具体教程
  3. 苹果录屏功能没有声音_安卓最高清的录屏软件,没有之一,已解锁VIP功能!
  4. IOS:游戏存档修改,替换
  5. 计算机应用技术三级学科,三个计算机专业的区别是什么?
  6. java大牛博客链接合集
  7. 《SpringMVC视频教程》(p2~p3)
  8. JAVA32位的如何换成64位的_win10系统中怎么把32位改成64位教程
  9. 平面设计个人简历模板
  10. msdn下载的系统怎么安装