接口测试
1、接口的由来:连接前后端及移动端
2、为什么要做接口测试:不同端的工作进度不一样,需要对最开始出来的接口进行接口测试。
3、接口测试的好处:节约时间、提高工作效率、提高系统的健壮性。
4、接口测试插件postman
5、去调用接口都是通过http请求完成的,简言之,测试接口就是测试这些http请求。
HTTP请求报文和响应报文都由三部分组成:对报文进行描述的起始行(start line), 包含属性的header, 可选的、包含数据的主体部分(body)
GET请求的body部分为空。
6、接口的种类:外部接口、内部接口(上层服务与下层服务、同级服务)
登录操作:get请求 答题操作:post请求。get和post请求是日常工作中用得最多的。
7、接口的分类:
get和post请求的区别:
(1)get请求通过地址栏提交数据(数据和地址一起提交),数据相对较少,因为地址栏有限制
post请求的数据是放在WebForms里面的,以表单形式提交
(2)get请求后面有一串,post请求后面很少
8、不同接口类型的差异
参数提交方式:post,get,delete,put
请求数据大小:post大,get小
安全性:post以表单形式提交,安全,get比较而言不安全
9、接口测试流程(黑盒测试差不多)
接口测试流程中的重点是:测试用例。
为什么要设计测试用例:理清思路避免漏测、提高测试效率、跟进测试进度、
告诉领导做过、跟进重复性工作
10、测试用例设计方法(开发接口文档)
功能用例设计:功能是否正常、功能是否按照接口文档实现
逻辑用例设计:是否依赖业务(下单之前是否登录)
异常测试(用例设计):分为参数异常和数据异常
安全测试用例设计:cookie、header、唯一识别码(和header一样),只在移动端接口测试用到
cookie: 从服务端获取的信息返回给我们, 如果删除cookie值,服务端需要进行验证
11、接口测试工具分类
抓取接口(抓包工具分析与选择):httpwatch(缺点:只支持IE浏览器和firefox浏览器,并且看数据比较麻烦)
wireshark(可抓取http、tcp, 经过电脑的所有请求,它都会去抓取,看数据也比较麻烦)
fiddler(记录所有http请求, 不二选择)
测试接口:loadrunner(性能测试,也可以接口测试)
fiddler
soapui(强大的接口测试工具,既可以做接口,也可以自动化)
Jmeter(性能测试,也可以接口测试)
postman(不二选择)
12、fiddler
。独立的可以直接抓http请求
。小巧,功能完善
。快捷,启动就行
。代理方便
(1)什么是fiddler:Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据。
。fiddler的工作原理:
fiddler在电脑端设置了一个代理,电脑发出去的所有http请求都会经过这个代理,代理收到后,它会把收到的所有的请求再发给服务器,服务器收到fiddler的请求之后,它处理之后再发给fiddler,fiddler收到服务端返回的数据后,同样会再返回给我们计算机。
(2)Fiddler的运用
。查看接口请求方式
GET /UpdateCheck.aspx?isBeta=False HTTP/1.1
GET请求
。查看请求数据、响应数据
/UpdateCheck.aspx为接口地址,以问号分隔开,后面就是数据,多个数据以连接符&连接,isBeta是参数(key),False是数据。
。接口返回状态
Result为200就是返回状态
。设置代理
在抓取移动端接口的时候,需要通过代理来抓取
tools-->fiddler options-->connections ,设置端口为8888,并把左侧四个选项都选上。
。header、cookie
request headers, cookies是headers的一部分
。设置断点
Rules--> breakpoints-->
。添加筛选
filters-->
。fiddler进行接口测试
composer-->输入url-->右边execute-->点击左边栏url
13、接口测试工具postman
(1)组成:操作历史, 接口地址以及请求方式、服务端返回的数据
(2)
14、python 开发接口测试脚本
Python Get请求实现方式
代码见test.py
python post 请求测试
代码见test1.py