一、接口

1.接口分类

硬件接口:指的是两个硬件设备之间的连接方式

软件接口:指的是软件程序之间的数据交互通道

2.软件接口分类

程序内部接口:同一个系统中模块间的接口

外部接口:跨系统平台与平台间的对接

3.常见接口协议

WebService接口:使用soap协议通过http传输,请求报文和响应报文都是xml格式的,常用的测试工具SopaUI

Http协议接口:使用http协议传输数据,常用测试工具jmeter、Postman等

4.接口测试

基于某种协议,发送请求给服务器,服务器返回响应数据,对响应数据进行分析,判断和我们预期的是否一致,从而验证功能是否正确

5.接口自动化测试流程

    理解业务需求

    分析接口测试范围

    接口测试用例设计

    测试框架RestAssured

    接口测试用例辨析

    框架与用例维护

    持续集成

二、HTTP

1.概念
    超文本传输协议(Hyper Text Tranfer Protocol)
    用于从万维网服务器传输超文本到本地浏览器的传输协议

    是基于TCP的应用层协议,不关心数据传输细节,用来规定客户端和服务器的数据传输格式,默认端口为80

    基于请求和响应模式的、无状态、应用层协议

2.请求报文

主要由请求行、请求头部、请求体部分组成

image.png

请求方法(Request Method):

请求方法 备注
POST 创建资源-增加
GET 获取资源-查询
PUT 替换资源-修改
DELETE 删除资源
HEAD 获取服务器响应消息头
PATCH 更新资源,替换部分资源

统一定位符(Uniform Resource Locator,URL):schema://host[:port]/path/…/[?query-string]

    scheme:协议,如http、https、ftp等

    host:域名或者IP地址

    port:端口

    path:资源路径

    query-string:发送参数

请求头(Request Header):

请求头 描述
Host 主机ip地址或域名
User-Agent 客户端相关信息,如操作系统、浏览器等信息
Accept 指定客户端接收信息类型,如image/jpg、text/html、application/json
Accept-Charset 客户端接收字符集,如gb2312、iso-8859-1
Accept-Encoding 可接收的内容编码,如gzip
Accept-Language 接收语言,如zh-cn
Authorization 客户端提供给服务端,进行权限认证的信息
Cookie 携带的cookie信息
Referer 当前文档的URL,即从哪个链接过来的
Content-Type 请求体内容类型,如application/x-wwww-form-urlencoded
Content-Length 数据长度
Cache-Control 缓存机制,如no-cache
Pragma 防止页面被缓存,和Cache-Control:no-cache作用一样

3.响应报文

image.png

状态码(Status Code):用以表示网页服务器HTTP响应状态的3位数字代码

状态码 描述
1xx 请求已接收待处理
2xx 请求成功并返回
3xx 重定向相关,请求资源位置发生了变化
4xx 客户端发送请求错误
5xx 服务器端错误

响应头(Response Header):

响应头 描述
Server HTTP服务器的软件信息
Date 响应报文的时间
Expires 指定缓存过期时间
Set-Cookie 设置Cookie
Last-Modified 资源最后修改时间
Content-Type 响应的类型和字符集,如Content-Type:text/html;charset=utf-8
Content-Length 内容长度
Connection 如Keep-Alive,表示保持tcp连接不关闭,不会永久保持连接,服务器可设置
Location 指明重定向的位置,新的URL地址,如304的情况

4.请求方法GET/POST

GET:请求指定的页面信息,返回实体主体(查询)

    http/https:协议类型

    host:服务器主机ip地址或域名

    port:端口号,如果是80可以省略,其它端口必须说明

    path:访问资源的路径

    ?:分隔符,用于区别path和参数

    xx=aa、yy==bb:请求参数列表

    &:多个参数的连接符号

POST:向指定资源提交数据并进行处理请求(如提交表单或者上传文件),数据包含在请求体中,post请求可能会导致新的资源的建立或者已有资源的修改

    post请求相对get请求多了一个body

    post请求的数据习惯性放在body里,也可以放url、或者同时放url和body

    post提交数据类型:Content-Type(内容类型)

            application/x-www-form-urlencoded:原生form表单

            application/json:使用json格式提交数据

            multipart/form-data:多参数表单

            text/xml:xml文本格式

5.Rest和Restful API

Rest(Resource Representational State Transfer)表现层状态转移–架构约束条件和原则–风格用URL定位资源,用HTTP动词描述操作

Restful API:满足Rest约束和设计风格的接口

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注