接口测试

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

原文地址:https://www.cnblogs.com/toudoubao/p/6841002.html