25.接口测试
Posted zhuifeng-mayi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25.接口测试相关的知识,希望对你有一定的参考价值。
接口(重点)
A.是什么?
是数据交互的入口和出口,是一套规范、标准
B.为什么?
高效、灵活:U盘
C.怎么用?
架构师设计的(API文档)
接口功能 + 三要素描述
接口测试(重点)
A、是什么?
测试后端实现是否符合接口规范
B、为什么?
程序安全、效率
C、怎么用?(实现流程)
模拟客户向服务器发送数据,然后查看响应
要素1:定位服务器资源(通过URL实现:http://www.baidu.com |http://127.0.0.1:8000/资源路径)
要素2:模拟用户提交数据
要素3:查看响应的结果是否符合预期
D、接口测试分类(重点)
类型1:web接口测试(B/S架构)
|--服务器接口测试:测试自己公司实现的接口
|--第三方接口测试:测试别的公司实现的接口
类型2:模块接口测试(C/S架构)
环境搭建
A、是什么?
搭建接口测试的测试环境,运行程序
B、为什么?
测试的前提
C、怎么用?
1)运维或开发实现程序部署,正常运行
2)自己搭建
插件
A、是什么?
是测试接口的测试工具
火狐---RESTClient
谷歌--POSTman
Java 实现的测试工具:Jmeter(重点)
B、为什么?
测试工具功能强大一些,使测试更快捷方便
C、怎么用?
火狐安装RESTClient
RESTful 风格(重点)
A、是什么?
RESTful风格:开发测试时,大家都会遵守一些默认的规范,这些是约定成俗的,大家的习惯做法,非强制性的
RESTful风格就是这些习惯中的一种
RESTful风格中规范了,URL的实现方式,提交的数据的实现方式,响应的数据的实现方式……
B、为什么?
为了程序的易读性和易维护性
C、怎么用?
RESTful风格是约束接口操作的四种操作以及三个要素
增:
要素1:URL+POST
要素2:多个数据
方式1:键=值&键=值
方式2:JS0N格式
要素3:200|201+添加的记录
删:
要素1:URL+GET I DELETE
要素2:方式1:键=值&键=值
要素3:200|204 + 无
改:
要素1:URL+POST I PUT(更合适)
要素2:
方式1:.键=值&键=值
方式2:JSON格式s
要素3: 200 | 201 + 修改后那条记录
查:
要素1:URL+GET
要素2:常用方式 URL?键=值&键=值.…
要素3:200 + 一条记录或多条记录
状态码:
404 --- 资源路径有误
505 --- 服务器常
JSON
A、是什么?
A-1、JSON是一种数据载体
A-2、互联网本质就是数据传输,数据传输需要数据载体,比如:页面信息就是存储在html这种数据载体中的
A-3、HTML格式
<html>
<head>
<title>hello</title>
</head>
<body>
<font color=red‘>hello world </font>
</body>
</html>
xml格式:
<person>
<name>huluwa</name>
<age>8F/age>
</personl
缺点:
标签标记语言,有效数据占有率低
A-4、JSON优化数据传输
“title":"hello","font":"hello world}
{"name":"huluwa","age":"8}
B、为什么?
JSON传输数据效率更高,所以部分场景下使用JSON替换html和XML
但是JSON 语法描述性不及标签语言,所以部分场景还得使用html和xml
如果传递的是少量数据的话,可能使用JSON
C、怎么用?
语法:
格式1(JSON对象):{"键1”:“值1”,”键2”:“值2”…}
格式2 (JSON数组);[值1,值2,值3.….J
格式复合:("name":"huluwa”"age":“8","aihao”:["救爷爷”,“吐火”,”吐水]}
["name":"huluwa","age":"8"},{"name":"aotuman","age":"10...…]
实战
目的:RESTful风格练习
A、安装并运行学生管理系统
B、获取并读懂接口规范
B-1、从前期文档中提取接口清单(了解此过程即可)
API文档;application programing Interface应用程序编程接口
B-2、接口清单读懂
要素1:URL+请求方法
要素2:提交的数据
要素3:响应的结果
C、逐一测试接口
总结:
1、新增数据时,数据是JSON格式的,必须设置浏览器的http请求头不然会当成普通文本处理
Content-Type applicaton/json;charset=utf-8(记住)
Content-Type:提交的内容类型
application/json:数据类型是JSON 格式|大类型/小类型img/pg img/png.……
charset=utf-8:设置编码集.,utf-8支持世界所有字符
以上是关于25.接口测试的主要内容,如果未能解决你的问题,请参考以下文章