pythonwebsocket接口自动化测试_接口自动化测试一

本文详细介绍了HTTP协议的基本概念,包括请求方法、URI、URL、Cookies与Session,以及HTTP请求和响应的格式和状态码。接着,讨论了接口测试的重点,如业务逻辑覆盖、参数设计与验证、结果验证和用例管理。最后推荐了接口测试工具Rest Assured,并给出了使用示例。
摘要由CSDN通过智能技术生成

一、移动端接口协议

1.1 移动端常用的接口协议

Http 协议。

目前大部分移动端与服务端之间都是通过 HTTP 协议进行数据交互的。

4 种操作方法。

Http 的 Get、Post、Put、Delete 方法

1.2 Http 协议的组成

Http 协议是一个应用层的协议,是一种网络交互需要遵守的一种协议规范。

Http 协议组成

请求(Request)

响应(Response)

以及相应的信息头(Request Header 和 Response Header)。

Http 传输

在 Http 传输中,我们都是 通过 URL 来寻找网络资源的。

http 表示要通过 HTTP 协议来定位网络资源;

host 表示合法的 Internet 主机域名或 IP 地址;

port 用于指定一个端口号,如果为空,则使用缺省的端口 80;

path 指定请求资源的具体地址。

1.3 Http 请求过程

1.3.1 Http 请求格式

向服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,由 3 部分组成:

请求方法、URI 协议、版本;

请求头(Request Header);

请求参数。

如下截图所示:

e7cbaf632e3cc2cf0284341dd080c2b2.png

其中:

URI:纯粹是一个符号结构,用于指定构成 Web 资源的字符串的各个不同部分。

URL:是一种特殊类型的 URI,它包含了用于查找某个资源的足够的信息。

Cookies:可以理解为客户端保存信息的一种机制,用于记录一些信息,也是实现 session 的一种方式。

Session:可以理解为在服务端保存一个数据结构,可以用于某些状态或属性。

1.3.2 Http 响应格式

接收到服务器响应信息也由 3 个部分构成,分别是:

协议版本、状态码、 描述(HTTP/1.1、 200、OK);

响应头(Response Header);

响应正文。

708b109fe46610be69e97c81b3098d80.png

其中,常见状态代码、状态描述:

200 OK:客户端请求成功。

400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在。

500 Internal Server Error:服务器发生不可预期的错误。

1.3.3 Http 请求过程

1、连接:建立一个 socket 连接;

因为 socket 是通过 ip 和端口建立的,在这之前还会进行 DNS 解析将域名解析成对应的 ID 地址。

2、请求:连接成功后,向服务器发送 GET/POST 请求。

GET, 一般用于获取信息。请求数据会放置在 HTTP 协议头中,以 ? 分割 URL 和传输数据,多个数据以 & 相连。参数受限于 URL 长度,不同浏览器有不同的长度限制。

POST,一般用于向服务器提交数据,以 FORM 表单的形式。没有大小限制。

GET 参数通过 URL 传递,POST 放在 Request body 中。

3、响应:服务器收到这个请求,进行处理,再将响应数据传送回客户端。

4、关闭连接:响应结束后,客户端与服务器断开连接,以保证其它客户端与服务器建立连接。

二、接口测试

2.1 接口测试主要关注点

业务逻辑

全业务逻辑覆盖

响应结构

数据格式

数据正确性

依据数据来源:查数据库或服务端和接口返回值做比较

2.2 用例设计—参数要考虑的

请求参数必选或选填

例:参数缺失服务端是否正常解析

输入合法、非法参数

例:服务端只接收 int 类型,传递了 String 类型

请求参数边界值

例:存储长度 10 位,传参大于 10 位,接口是否处理

请求参数逻辑分支

例:type=1 查询北京、Type=2 查询天津

与服务端是否存在附加协议

例:交互过程中服务端需要验证 head 中的数据、或者是否有加密协议

2.3 用例设计—结果要验证的

异常请求处理

请求头协议

响应结构

所有 value 值的正确性、有效性

数据库交互是否生效

列表排序

分页属性

存在业务关联的是否生效

2.4 用例的管理与维护

功能测试模式:为了更快速会选用 EXCEL、思维导图进行用例管理。

自动化测试模式:使用测试脚本进行管理。

2.5 测试工具及框架

工具:

Fiddeler、Charles、Postman、 Json-handle 插件、 Json.cn、 ......

其中 Postman 类似于我司的 mock 工具。

框架:

Soapui、Robot framework、Httpclient、Rest assured、Swagger......

2.6 接口测试框架的选型

推荐使用 Rest assured 框架进行接口测试,语法足够简单,编写测试用例速度快,而且还 供了相应的断言机制、json 验证以及封装了相关 jsonpath、xmlpath,使接口测试更加方便快捷。

io.rest-assured

rest-assured

3.0.2

io.rest-assured

json-path

3.0.2

io.rest-assured

xml-path

3.0.1

2.7 示例

Get: 发起请求 + 基本解析;

Post:发起请求 + 基本解析;

基于 Excel 的数据驱动:Excel 读取 + 执行结果写入。

rest-assured 使用文档参考文章:rest-assured 中文文档

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值