接口测试

一、基础知识

1. 接口API

​ API,全称 Application Programma Interface。通俗的说,就是某一个功能的实现或展示基于对另一个功能的调用,那么调用与被调用之间的连接点就是接口。

2. 接口测试

​ 是测试系统组件间接口的一种测试。主要是检查数据的交换,传递和控制管理过程,以及系统之间的相互逻辑依赖关系。

​ 现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

3. 接口测试工作原理

​ URL通过get或者post请求像服务器发送一些东西,然后得到一些相应的返回值。

4. 接口测试本质

​ 本质就是数据的传输与接收。

二、组成部分

1. 接口地址

​ URL,Uniform Resource Localtor,统一资源定位器。

​ 实例:http://127.0.0.1:8000/api/departments/

转业名词 符号 备注
访问协议 http https 、 ftp 、 ftps ...
服务器的IP地址 127.0.0.1
服务器的端口号 8000 基于http协议的一般是80
基于https协议的一般是443
资源路径 /api/departments/ 一个资源路径一般映射一个接口实现
2. 请求方式
请求方式 功能 数据库对应操作
GET select
POST update
PUT insert
DELET delet

GET和POST的比较

​ (1) 提交方式不同(GET提交的数据显示在地址栏,而 POST 隐式的提交数据,后者更安全)

​ (2) 可提交的数据量不同(GET提交的数据量有限制,而 POST 无限制)

​ (3) 执行效率不同(GET 的执行效率比 POST 稍高)

然而在实际开发过程中

​ (1) 很多人贪方便,更新资源时用了GET,因为用POST必须要到FORM(表单),这样会麻烦一点。

​ (2)对资源的增,删,改,查操作,都通过GET/POST完成,没有用到PUT和DELETE。

​ (3)早期的Web MVC框架设计者们并没有有意识地将URL当作抽象的资源来看待和设计,所以导致一个比较严重 的问题是传统的Web MVC框架基本上都只支持GET和POST两种HTTP方法,而不支持PUT和DELETE方法。

3. 参数类型

(1)键值对格式

username=huluwa&password=jiuyeye&aihao=tuhuo&aihao=tuishui&aihao=yinshen

(2)JSON格式

 { "username":"huluwa",
 "password":"jiuyeye",
 "aihao":["tuhuo","tushui","yinshen"]
 }
4. HTTP header

Http header请求头分为两部分,分别是Request headers、Response headers。

响应结果状态码
(response code | status code)
1xx: 请求正常,但是无响应,只在实验状态下使用
2xx: 请求正常,响应正常,比如: 200 201 204 ...
3xx: 以其他方式获取响应,比如: 302 重定向 304 取本地缓存
4xx: 浏览器端异常,比如: 404 资源路径有误
5xx: 服务器端异常,比如: 500 服务器运行异常

响应结果状态体

​ 响应html文档,比如:访问百度首页

​ 响应JSON数据,比如:查询直播列表响应的数据

三、文档分析

​ 关注标准接口文档

参数
URL 接口路径
参数 接口请求参数
请求类型 get or post
返回参数 返回的数据
错误类型 请求出错后返回相应的错误类型
加密方式 参数加密方式,一般为hash+salt

四、接口实例

​ 调用京东云接口查询深圳天气。


返回的Headers

返回的Body

{
    "code": "10000",
    "charge": false,
    "msg": "查询成功",
    "result": {
        "HeWeather5": [
            {
                "aqi": {
                    "city": {
                        "aqi": "38",
                        "co": "0.5",
                        "no2": "15",
                        "o3": "119",
                        "pm10": "32",
                        "pm25": "15",
                        "qlty": "优",
                        "so2": "6"
                    }
                },
                "basic": {
                    "city": "深圳",
                    "cnty": "中国",
                    "id": "CN101280601",
                    "lat": "22.547001",
                    "lon": "114.085945",
                    "update": {
                        "loc": "2021-12-10 15:17",
                        "utc": "2021-12-10 07:17"
                    }
                ...
                    "dew": "14",
                    "fl": "24",
                    "hum": "53",
                    "pcpn": "0.0",
                    "pres": "1011",
                    "tmp": "24",
                    "vis": "30",
                    "wind": {
                        "deg": "135",
                        "dir": "东南风",
                        "sc": "2",
                        "spd": "7"
                    }
                },
                "status": "ok",
                "suggestion": {
                    "air": {
                        "brf": "中",
                        "txt": "气象条件对空气污染物稀释、扩散和清除无明显影响,易感人群应适当减少室外活动时间。"
                    },
                    "comf": {
                        "brf": "舒适",
                        "txt": "白天不太热也不太冷,风力不大,相信您在这样的天气条件下,应会感到比较清爽和舒适。"
                    },
                 ...
        ]
    },
    "requestId": "d5c9ea06fe95495db45a8ce1e50358e7"
}
 }

posted @ 2021-12-10 15:25  爻一  阅读(200)  评论(0编辑  收藏  举报