1、接口
主要讲API公共接口,即某些公司将自己的API接口做成对外开放的系统。
- API:操作系统和程序间的接口
- GUI:图形用户界面接口
接口测试概念广义的说就是:通过测试不同情况下的输入参数与之相应的输出参数信息来判断接口是否符合或满足相应的功能、性能、安全性要求
2、 接口测试目的、作用
- 可以发现别的功能、页面发现不了的缺陷(前台验证,后台不验证的问题)
- 检查系统异常处理能力(前台加密了,发送请求报文给他后台时没有加密的情况)
- 接口测试通过后,后台不变前台可以随意更改展现方式
- 持续集成、无需人值守,提高效率和稳定性
- 只需要测试入参请求和出参响应就好
- 接口测试没有页面,通过接口测试规范文档、调用地址、请求参数进行信息拼接
3、接口文档的阅读和分析
1、接口文档内容
- 接口说明
- 调用url
- 请求方法(get、post)
- 请求参数、参数类型、请求参数说明
- 返回参数说明
(1)定位前台发送的请求信息
(2)点击注册,发送请求
(3)点击请求,查看请求的request信息和response正文,General下可以看到发起请求的url地址、请求的方式(get、post)、request headers、params参数信息和最下方的form Data发送请求的正文数据
2、接口的请求和响应
1、HTTP基础
- HTTP-超文本传输协议(Hyper Text Transfer Protocol),除了文本以外,文件、图片、视频、音频等
- 万维网-www(World Wide Web )
- HTTP是一个基于TCP/IP通信协议来传递数据(应用层打包HTTP协议包,然后通过传输层TCP协议传输)
- TCP/IP协议四层:应用层、传输层、网络层和网络接口层,HTTP属于应用层协议
2、HTTP协议工作原理
- Web服务器有:Apache服务器,tomcat,IIS服务器(Internet Information Services)等。
- HTTP默认端口号为80、HTTPS的默认端口是443
3、TCP/UDP(user datagram protocol)的区别
- TCP 是面向连接的,UDP 是面向无连接的
- UDP程序结构较简单
- TCP 是面向字节流的,UDP 是基于数据报的
- TCP 保证数据正确性,UDP 可能丢包
- TCP 保证数据顺序,UDP 不保证
- 在传输层中有TCP协议与UDP协议。
- 在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议
- 因此,HTTP本身就是一个协议,是Web服务器与本地浏览器之间相互传输超文本的传送协议。
4、HTTP的请求结构
- 4部分:请求行、请求头部、空行、请求数据
5、HTTP的响应结构
- 4部分:状态行、消息报头、空行、响应正文
6、常见的响应状态码(HTTP Status Code):
- 1开头-信息,服务器收到请求,需要请求者继续执行操作
- 2开头-成功,操作被成功接收并处理
- 3开头-重定向,需要进一步的操作以完成请求
- 4开头-客户端错误,请求包含语法错误或无法完成请求
- 5开头-服务器错误,服务器在处理请求的过程中发生了错误
请求的content-type:
拼接请求的时候:请求方式、url、参数、请求的数据(以什么样的形式组织数据?)
请求的数据的格式:
multi-form/data,application/x-www-form-urlencoded,application/json,text/plain
响应的content-type:
响应回来的报文的正文内容格式:
application/json,text/html,text/plain
URL:
统一资源定位符,相当于你购物填的地址
URI:
统一资源标识符,理解为一个人的身份(包括URL的)
错误码和状态码的区别:
状态码:
HTTP协议定义了一些数字,每一个数字表示特定的含义,开发只能使用这些状态码,改不了;服务器自动地根据请求的情况返回对应的状态码
错误码:
开发人员定义的,会请求的数据进行逻辑判断,符合某种异常的情况给用户返回一个数字,表示请求中的某些错误。
REST:
符合某种风格的接口形式:以名词定义资源,以动词来表示行为
/xinhu/gerenxinxi/updateImage/get/post/delete
SOAP:服务器端的接口的测试,web service,服务器端做好接口之后,可以生成一个xml的文件(包括你参数、请求地址、方法等)
开发人员把这个xml给你,你就可以直接使用(soapUI)导入xml文件,改参数即可实现接口的测试