WEB接口的组成要素
接口地址
形式:协议://服务器IP地址或域名:端口号/项目名称/接口名称
例如:http://172.166.1.1:8080/test/api/?class=tsd2107&id=1
协议:常见的协议比如HTTP、HTTPS等
HTTP为普通http请求
HTTPS加密的http请求,传输数据更加安全
FTP文件传输协议,主要用于传输文件
测试接口时,使用哪种协议,由开发决定,看需求
服务器IP地址就是指提供接口的系统所部属的服务器地址
域名如www.tmooc.cn
端口号如果不填写端口号,默认是80,否则需要填写端口号
有时候,一台服务器会提供很多服务,用不同的端口号区分不同的软件或接口
端口号是0~65535之间的整数
常见的端口号,http 80、https 443
端口号也是由开发人员确定的,但是测试人员搭建测试环境,可以修改
接口名本质上是函数名、方法名、类名、模块名、文件名
开发决定接口的名字,看需求(接口文档)获得接口名
?用于分割接口地址和参数标志,必须是英文的(地址栏中有?是GET请求)
class和id是参数名,表示给服务器上的接口发送数据,请求服务器处理
&用于连接多个参数,是固定写法,多一个参数就加一个&符号连接
/test/api/?class=tsd2107&id=1也叫路径(URI)
URI叫统一资源标识符,一般用来表示网址或接口中具体位置或名称,是URL的一部分
URL叫做统一资源定位器,表示一个完整的网址或接口地址
请求方法
表示如何发送和处理数据
常见的请求方法:
方法名称 | 方法介绍 |
---|---|
GET | 主要用于获取数据/查询 |
POST | 主要用于增加、修改、删除资源 |
PUT | 主要用于修改资源(全部更新) |
patch | 主要用于修改资源(部分更新) |
delete | 主要用于删除资源 |
常见面试题:GET和POST方法的区别
- GET请求可以被缓存,POST不可以
- GET请求会保存在浏览器的历史记录中,POST不会
- GET请求可以被收藏为书签,POST不会
- GET请求时,发送数据的长度一般都有限制,POST没有限制
- GET请求一般用于获取数据,POST请求主要用于提交数据
- GET请求发送的数据一般会在URL(接口地址)中,POST发送的数据放在请求体中
- POST发送请求一般比GET发送请求更加安全
参数
是需要接口程序处理的数据
主要考虑参数有哪些,叫什么名字,那些是必填参数,那些是可选参数,参数的类型,参数长度,参数的约束
返回值/响应正文
响应头包含响应状态码,简称状态吗、HTTP状态码
响应状态码 | 状态码介绍 |
---|---|
200 | 成功响应(服务器成功把结果发给客户端,但是不确保结果正确性) |
301 | 永久重定向 |
302 | 临时重定向 |
401 | 需要授权 |
403 | 客户端错误,比如IP被封禁、客户端无写权限、无读权限、客户端证书错误等 |
404 | 客户端请求的网页文件不存在,URL地址错误 |
500 | 服务器端的错误,比如服务器代码错误、服务器重启、服务器关机、服务器太忙(拒绝服务) |
响应类型有三种类型,分别是:
text/html网页版,类似于字符串
xml soap/webservice接口比较常见的响应类型
JSON类型是最常见的响应类型
响应体/响应正文是返回text/html网页版、xml 、JSON类型内容,测试是否通过要看响应体
数据库
如果接口涉及到写数据,必须要验库
在接口测试过程中经常用于数据初始化和落库检查