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

4747 2475 2022-07-11


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的报文的主体内则可以包含多部分对象,通常用来发送图片、文件或表单等,适用于传输大型文件。

eolink接口测试软件简介

简单介绍下我们用来做接口测试的工具。

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

我们直接在首页的接口管理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.执行用例

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

b.上传非图片的base64编码

c.上传照片的base64编码:

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

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

查看并导出测试结果:

总结

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

在进行接口测试时,通常需要测试的接口类型有几种。 大多数是http类型的接口,其他还有web服务、rpc接口等。 这次主要说明应该如何测试http类型的接口,以及应该测试哪些接口。

HTTP接口的概念:

http接口的本质是接口,其目的是基于http协议进行远程通信。 通常,通过浏览器访问的www网站称为http访问。 通常,测试的http格式的接口类型有post和get两种,数据类型有key、value和json两种。

key,value型数据的http接口测试:

1、这种类型最简单的就是直接确定要传输的数据,放在接口地址后面,直接从浏览器访问,查看返回结果

2、添加一些接口测试工具,如jemter,然后添加线程组,再添加sample下的http请求,一共添加查看下面结果树的选项即可。 然后,根据各个字段,在http请求中输入地址和参数即可。 输入完毕后,直接发送请求,确认结果树下的结果是否正确。

注意: 1、如果接口有先决条件,例如需要先登录、需要以前请求的cookie、需要请求标头等。 在这种情况下,只需要添加配置原始的下面的http头管理器、http cookie管理器,并添加登录的http请求即可; 另外,如果多个接口之前的请求地址一直持续,则可以添加http请求默认值,并将相同的地址和配置放在这里。 2、如果有需要自变量的语句变量,也可以使用两种方法。 一个是添加一个结构要素下的“CSV Data Set Config”,将参数变量的字段名和数据写入本地的一个txt文件,将文件地址写入其结构下,其他结构根据需要写入,将变量置于http请求下即可3、另一种情况是,需要从前一个接口返回以下接口的请求参数。 然后,需要在前面的接口下添加后处理器下的“正则表达式提取器”。 然后,取出基于正则表达式从请求中返回的值,写下变量名称哦。 交给下一个界面就好了。

3、直接使用python,调用请求包

4、使用python的urllib软件包,编写接口请求:

json格式的http接口测试:

1、使用工具进入jemter测试,配置相同,参数写在Body Data下;

2、使用python的requets软件包,直接写请求:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:公关界007:哈哈哈哈哈,淘宝“沙雕大赛”也太沙雕了吧!
下一篇:34亿销售投入换来27亿年亏损!“完美日记”营销向左研发向右!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~