一、接口定义
软件不同部分之间的交互接口。通常就是所谓的API――应用程序编程接口,其表现的形式是源代码。 —— [ 百度百科 ]
我们常说的接口一般指两种:
(1)API:应用程序编程接口。程序间的接口
(2)GUI:图形用户界面。人与程序的接口
这里我们所说的接口特指API接口。
API接口定义:对协议进行定义的引用类型。
二、接口的分类
1、接口分类
(1)HTTP接口
(2)Webservice接口
(3)RESTful接口
WebService接口是走soap协议,请求报文和返回报文都是xml格式,通过SoapUI工具进行测试;
HTTP API接口走HTTP协议,通过路径来区分调用的方法,请求报文入参有多种形式,返回报文一般为json串,最常见的是get和post方法。
程序对外接口:
从别的网站或服务器上获取资源的调用,比如某网站购物时,调用支付宝或微信或其他支付接口。
程序对内接口:
程序内部方法直接的接口调用。比如电商平台的前台和后台之间接口调用,前台开发人员用HTML或CSS或JS等技术,后台开发人员用JAVA,PYTHON等语言,若用户从前台输入数据,怎样将数据传到后台呢?主要是通过http协议的get或post请求来实现前后端的数据传递,这些都是接口测试的一部分
三、为何要进行接口测试
1、接口测试必要性
当今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,所以就要做接口测试。同时,接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。
2、接口测试原理
模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端再接收应答的一个过程。
3、接口测试范围
接口的功能、性能、安全性。重点关注数据的交换,传递和控制管理过程,还包括处理的次数。
四、接口文档示例
1、接口文档应该包括哪几部分?
接口说明
调用的url
请求方法(get、post)
请求参数,参数类型、请求参数说明
返回参数说明
返回示例
五、Postman工具简介
Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来模拟get或者post或者其他方式的请求来调试接口。常见模拟场景有:get请求、post/k-v、post/json、添加cookie、添加header、上传文件。
1.get请求传参:
接口文档说明如下:获取调用链接秘钥&secret
因为是get请求,因此可以直接在浏览器访问,当然也可以使用postman请求,浏览器直接访问:
postman模拟get请求调用接口:点击Params,输入参数及value,可输入多个用&连接,即时显示在URL链接上,所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。另外,注意HTTP状态码和请求的耗时,HTTP状态码是200时,代表这个接口请求是正确的。
2.post请求--表单提交,以key-value形式传参,接口介绍如:
使用postman来模拟post请求,form-data提交,它是网页表单用来传输数据的默认格式,可以模拟填写表单,并且提交表单。
3.post请求--模拟上传文件。接口信息:
使用postman来模拟post请求,form-data提交,可以上传一个文件作为key的value提交。但该文件不会作为历史保存,只能在每次需要发送请求的时候,重新添加文件。如:
4.post请求--提交json。接口说明如下:
使用postman来模拟post请求,入参是json,当我们选择了JSON(application/json)时,postman会在Headers自动设置了Content-Type,如图:
Headers里自动添加Content-Type:application/json:
5.post请求--添加cookie。接口文档说明如下:
使用postman来模拟post请求,依据接口文档得知需求,该接口访问时需添加cookie,请求方式:post,输入url,Body 中选取"form-data" 格式,输入所需的key-value,再在Headers里写入Cookie值(上面接口文档写明:cookie中key为登录的用户名,value从登录接口中获取,登陆成功之后会返回sign), 点击"Send", 即可在"Response" 中查看返回的结果:
输入key,value页面:
6.post请求--添加Header.接口文档说明如下:
post请求,需添加header。将请求方式设为GET, 输入的url,点击Headers并添加"Referer"信息, 点击"Send", 即可在"Response" 中查看返回的结果。
版权归原作者 Fly2024124 所有, 如有侵权,请联系我们删除。