接口
一、接口
1、什么是接口? (1)软件:统称API,application,program,interface,微信提现和充值,支付宝支付,银联支付接口(鉴权码:token,key,appkey)鉴权码:token,key,appkey (2)接口包括:内部接口和外部接口
- 内部接口:开发人员自己开发的对自身系统提供的接口
- 外部接口:开发系统调用外部的,微信,支付宝,其他的接口
- 总结:借口就是软件提供给外部的一种服务
2、软件为什么需要接口
3、为何做接口测试 (1)前后端开发进度不一致,需要把一开始开发出的接口进行测试
- mock:mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个mock对象来模拟对象的行为
(2)基于安全考虑,前端有验证很容易绕过去,直接请求接口,特别是涉及到身份证信息、银行卡、金钱交易方面 (3)测试推崇的是测试左移,测试尽早介入
接口测试的本质:测试接口能否正常的交互数据,权限控制及异常场景
二、接口返回数据和JSON详解
1、JSON格式 (包含三组数据) (error_code:0,msg"提现成功",data:[])
- error_code:错误码,0表示成功,code
- msg:对错误码的中文说明
- data:真正的返回的数据
(1)json就是一种数据类型,整形,小数,字符串 (2)JSON由两组数据组成:MAP对象,键值对(key:value) 数组:{value1,value2,value3}
2、HTML格式
<html>
<title></title>
<body>
<error_code>0</error_code>
.........
</body>
</html>
3、xml格式
<?xml?version="1.0"encoding="utf-8">
<error_code>0</error_code>
.......
</xml>
三、接口测试协议
1、webservice协议 接口地址:http://…?wsdl
soap协议(一种通信协议),wsdl是其描述文件 restful规则:get获取规则,post提交数据,put修改数据,delete修改数据
2、dubbo协议 接口地址以dubbo://… 适用于少量数据的传输(不适合传视频,大文件等数据),大并发
3、http协议(主流) 接口地址:http://… https=http+ssl 安全传输协议 端口:443 http 端口:80 http协议:http是超文本传输协议,主要用于浏览器和服务器之间交互数据,交互有两个部分 请求和响应 请求:get、put、post、delete 响应:1XX信息,2XX成功,3XX重定向(跳转不传值),4XX客户端错误,5XX服务器错误 请求部分包含: 请求行:请求方式,请求地址,协议 请求头:
Accept:application/json,tex/javascript,’/’,q=0.01(客户端可以接收的数据格式) X-Requested-With:XMLHttpRequest(异步请求,一般应用在局部刷新的请求里) User-Agent:PosmaRuninue/7.26.5(客户端的用户/代理) Cache-Control:no-cache Postman-Token:14a45257-b900-46e4-b760-e45c1a2ac824(postman的鉴权) Host:47.107.116.139(请求的主机地址) Accept-Encoding:gzip,deflate,br(压缩方式) Connection:keep-alive(保持活跃,如果不是保持活跃这个状态,每请求一次就会断开) Cookie:wNq_lastvisit=1029%091605272358%09%2Fphpwind%2F wNq_visitor=pWS4zEbz%2F5x0XgEQQ4F20ipEcVIS8AU0DopI6Xoj7L3SmaUYR%2Fw%3D% 3D;csrf_token=68bd2c7857e99ca7(这个请求的cookie信息) Content-Length:0(内容的长度) 空一行 请求正文
响应部分: 响应行:协议,响应码,响应信息 HTTP/1.1.200 OK Server.nginx Date:Fri.13 Nov 2020 21:55:23 GMT Conent-Type: text/html; charset=UTF-8 Connection:keep-alive X-Powered-By: PHP/5.6.36 Set-Cookie: wNq_lastvisit=1033%091605272362%2Fphpwind%2Findex.php%3Fm%3Du%26c%3Dlogin%26a%3Dorun; expires=Sat, 13-Nov-2021 21:55:23 GMT; Max-Age=31536000; path=/ Vary: Accept-Encoding(响应的) Content-Length: 196
待更新。。。。。。
|