接口基础知识回顾:
——————————————————————
问:什么是接口?
答:接口是前后端的桥梁。
是不同的系统和应用程序间进行数据传输的网络应用程序。
接口是基于请求和响应的,一般没有页面。简言之,页面以下皆是接口。
1.内部接口:一个软件内部之间的相互调用(子系统之间、模块之间、功能之间)
2.外部接口:连接两个独立的个体
2.1 用户接口(用户界面:如链接、按钮)
2.2 软件接口(如:第三方支付、第三方登录)
2.3 硬件接口(如:打印机、扫描仪、投影仪)
注:
一般大型项目前后端是分开开发的,此时需要用mock模拟前后端收发数据,协助开发。
——————————————————————
可用于接口测试的工具:
1.fiddler
2.postman
3.soupui
4.jmeter
5.loadrunner
——————————————————————
如何抓取不同类型的接口?
1.安装fiddler
2.装手机APP包需设置
-
Fiddler设置允许远程计算机访问:Tools>Options>Connections—勾选Allow remote computers to connect选项,重启fiddler
-
Fiddler所在的电脑和手机需在同一个局域网(即连着同一个路由器)。
-
查看电脑的IP地址,也可以在Fiddler右上角的Online查看电脑ip。
-
用手机浏览器打开网址:电脑IP:8888,下载Https的证书
-
手机上需设置,可以分为四个步骤:
5.1 下载HTTPS证书
5.2 安装HTTPS证书
5.3 信任HTTPS证书
5.4 设置并启用WiFi代理 -
以苹果手机设置为例:
第1步:通过浏览器,输入电脑ip:8888,点击下载证书。
第2步:安装证书,点击“设置–>已下载的描述文件–>安装”
第3步:点“设置–>通用–>关于本机–>证书信任设置”。开启信任证书。
第4步:设置代理,点“设置–>无线局域网–>配置代理–>填写代理信息”
——————————————————————
fiddler在工作中的运用:
fiddler是一个代理工具,可以作为浏览器与服务器之间的代理服务器,进行数据包的抓取、拦截、过滤、修改等多种功能。下图是fiddler工作的示意图:
1.抓包
安全性:传输过程中的数据是否加密
如:
1)打开某网站登录页面,填好数据
2)打开fiddler
3)点击“登录”按钮,fiddler抓取到数据
4)双击fiddler左侧中有向右箭头的请求,右侧即可看到抓取到的账号信息
注:如果抓不到包,1是考虑把地址栏里面localhost改为本机的IP地址,2是考虑是否存在过滤器。
2.打断点(模拟数据)
-
模拟请求数据:
服务端校验:检查服务器端是否加校验
1)打开某网站登录页面,填好数据
2)打开fiddler工具,可设置如下:
3)点击“登录”按钮,fiddler抓取数据,左侧出现红色大T
4)双击fiddler左侧中有红色大T的请求,右侧即可看到抓取到的账号信息,修改数据,点击“run to completion(运行一直到完成)”
5)如果出现多个红色大T,一直点击“run to completion” -
模拟响应数据:
1)刷新某页面,fiddler捕捉响应数据。
2)打开查看响应内容:Inspectors-TextView-view in notepad-修改响应数据-另存
3)打开fiddler工具,设置Fiddler,如图:
2)重新刷新页面
3)AutoResponder-勾选Enable rules、Accept all CONNECTs、Unmatched requests passthrough等-Add Rule-选择修改后的文件-save
注:模拟响应数据的实现主要是通过使用fiddler工具抓取服务器响应给了浏览器A请求的数据内容A,对数据A进行更新成指定的数据B,然后fidder作为代理服务器把修改后的B数据响应给浏览器的A请求。
3.fiddler做简单的接口测试
POST请求-举例:
1)fiddler抓取数据,在左侧复制请求
2)打开Composer,粘贴地址,并选择好对应的请求方法
3)Request Body上方,将该请求要包含的诸如消息头(Headers)的Content-Type类型,从Inspector-TextView下复制过来,如:Content-Type: text/plain;charset=UTF-8。其他如cookie等,与此同理。
4)Request Body里,将Inspector-TextView下的内容复制过来-Execute
接口测试应用场景举例:
一、应用场景1(mock数据)
聚合数据的获取全国天气的接口:
http://v.juhe.cn/weather/indexcityname=110&dtype=&format=&key=5b3a961ed1478b529d5ae2416ccfd2eb
这个接口可以免费调用500次,超过500次,每调用一次收取1分钱,为了免费使用,就要fiddler来mock数据
1、首先,免费使用的过程中,用fiddler获取该接口请求和响应,将响应body保存下来
右键点击fiddler左侧的会话框中该接口请求会话——Save——Response——Response Body,将该请求的响应内容
保存到桌面(该接口请求的资源是什么类型,保存下来就是什么类型)
2、超过500次后浏览器请求该接口提示
3、使用fiddler的autoresponder,添加规则,当请求地址和下面规则中的地址一致时,返回存储在本地
(上一步骤保存在桌面的文件)的响应内容
4、再次浏览器请求该接口,就不去从