接口测试
前提知识
RPC协议
RPC协议:Remote Procedure Call,以本地代码调用的方式实现远程执行。
RPC知名解决方案
Dubbo
Java上的高性能RPC协议,Apache开源项目,由阿里捐赠。
底层应用层协议支持dubbo缺省tcp协议、http、hessian、thrift、gRPC等
gRPC
高性能通用RPC框架,基于Protocol Buffers。
Protocol Buffers是一个语言中立、平台中立的数据序列化框架。Google开源项目。
Thrift
与gRPC类似的多语言RPC框架,Apache开源项目。
TCP与UDP
区别
- TCP:面向连接,错误重传、拥塞控制,适用于可靠性高的场景
- UDP:不需要提前建立连接,实现简单,适用于实时性高的场景
GET与POST
POST和GET请求对比
http的method字段不同
post可以附加body,可以支持form、json、xml、binary等各种数据格式。
行业中通用的规范:
- 无状态变化的建议使用get请求
- 数据的写入与状态修改建议用post
网络协议介绍
HTTP详解
http报文结构
请求报文方法
方法 | 意义 |
---|---|
OPTION | 请求一些选项信息 |
GET | 请求读取由URL所标志的信息的首部 |
HEAD | 请求读取由URL所标志的信息的首部 |
POST | 给服务器添加信息 |
PUT | 在指明的URL下存储一个文档 |
DELETE | 删除知名的URL所标志的资源 |
TRACE | 用来进行环回测试的请求报文 |
CONNECT | 用于代理服务器 |
常用的是POST和GET
常见状态码
状态码有5个大类,由第一位数字进行区分,每个大类下面还有不同的子类,每种子类的长度都是3位,都代表一个状态码,即一种类型的返回信息。
- 1xx 表示通知信息,如请求收到了或正在进行处理
- 2xx 表示成功,如接受
- 3xx 表示重定向,如果要完成请求还必须去进行下一步的行动
- 4xx 表示客户的差错
- 5xx 表示服务器的差错
Session与Cookie
Session
Cookie
Postman
安装
推荐在官网地址进行使用或下载。
注册并登录之后,可以在此处进行下载桌面版应用:
发送请求
GET请求
POST请求
post请求可以发送key-value、json、file等格式的数据。
断言
变量
参数传递
用例集
代码导出
常用代理工具
代理工具:charles、burpsuite、fiddler、mitmproxy
高性能代理服务器:squid、dante
反向代理:nginx
流量转发与复制:em-proxy、gor、iptable、nginx
socks5代理:ssh-d参数