一、什么是接口

1、(软件)接口一般来讲分为两种:
(1)程序内部的接口:方法与方法、模块与模块之间的交互,程序内部抛出的接口,如登录发帖,发帖就必须要登录,如果不登录不能发帖,发帖和登录这两个模块之间就要有交互,就会抛出一个接口,进行内部系统调用。
(2)系统对外的接口:从别人的网站或服务器上获取资源或信息,对方不会提供数据库共享,只能提供一个写好的方法来获取数据,如购物网站和第三方支付之间,购物网站支付时可选择第三方支付方法,但第三方不会提供自己的数据库给购物网站,只会提供一个接口,供购物网站进行调用。

2、接口分类一般分为两类:
(1)webService接口:走soap协议通过http传输,请求报文和返回报文都是xml格式的。测试时需要通过工具才能进行调用、测试。少数公司还在使用这种接口,如医院等行业。
(2)http api接口:走http协议,通过路径来区分调用的方法,请求和报文都是key-value形式的,返回报文一般都是json串,有get和post等方法。目前来讲,是最常用的。
3、接口返回数据
接口返回的数据一般都是json串,json是一种通用的数据类型,格式为key-value。
4、前端、后端区别?
前端:客户端。通俗来讲,一般情况下,web端或app端能看见的地方以及一些简单的校验,都属于前端。
(ps:网站上显示的后台管理不属于后端哦)
后端:服务器端。web端或app端的系统逻辑、如购物时扣除余额,微博发到哪里等都是由后端实现的。
接口的优点:扩展性强、基于接口方便扩展功能,一个接口对应一个功能
软件接口IPA:以http协议的形式提供,定义了输入、输出,(network)网络日志
通过分析接口 定位bug 属于前端or后端
URL:统一资源定位符
接口测试流程
1、获取接口文档

二、网络基本概念

客户端(Client):
服务端(Server):为客户端提供服务,提供资源(数据)
请求(Request):客户端向服务器索取数据的一种行为
响应(Response):服务器对客户端请求做出的反应(返回数据给客户端)
客户端&服务器

三、HTTP协议

HTTP协议
1.简介
HTTP协议(HyperTextTransferProtocol,超文本传输协议),是用于从万维网(w:WorldwideWeb)服务器传输超文本到本地浏览器的传送协议
HTTP基于TCP/IP通信协议来传递数据
HTTP基于客户端/服务端(C/S)架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议
2.特点
(1)HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节
省传输时间
(2)HP是媒体独立的:只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HP发送。客户端以及服务器指定使用适合的
MIME-type内容类型
(3)HTTP是无状态:无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接
传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快
HTTP请求报文
HTP请求报文由4部分组成(请求行4请求头+空白行+请求体):空白行没有实际意义,作用是区别请求头和请求体
osi七层模型简化五层模型
osi七层模型
协议:计算机通信网络中两台计算机之间通信必须共同遵守的规则或规定
http协议:超文本传输协议,是一种规定了浏览器和服务器之间通信的规则,默认端口:80
https协议是在http协议的基础上多了一个sll(sll安全证书)安全性更高,相当于http协议的升级版 默认端口:443
URL:统一资源定位符 Uniform Resource Locator
概念:互联网上资源的地址、位置。每一个资源都有一个唯一的
格式:协议://主机地址/路径
主机地址:ip:port
DNS(域名解析服务商,114.114.114.114:中国电信、8.8.8.8:谷歌)
GET\P0ST请求方法
GET
提交的数据显示在地址栏(ur1后面)、不安全;提交的数据量有限制;不重要的数据使用GET
P0ST报文体
隐式提交数据、更安全;没有数据量大小的限制;重要数据使用POST
数据传递的格式
Json数据:
{
“属性名1”:”属性值
“属性名2”:”属性值”
“属性名3”:”属性值
}

四、Jmeter的使用

安装

Windows X64操作系统Jmeter下载地址:提取码:ben8
将安装包下载解压到一个你喜欢的位置 进入到Jmeter的bin目录下 找到Jmeter.bat双击它便能启动和使用了
如果启动失败,那你应该是缺少一个启动环境Jdk 下载安装并配置好环境就能启动了
Windows X64操作系统Jdk下载:提取码:ben8
Jmeter主要元件
1、测试计划:是使用』Meer进行测试的起点,它是其它 JMeter测试元件的容器
2、线程组:代表一定数量的用户,它可以用来模拟用户并发发送请求。实际的请求内容在 Sampler中定义,它被线程组包含。
3、配置元件:维护 Sampler需要的配置信息,并根据实际的需要修改请求的内容
4、前置处理器:负责在请求之前工作,常用来修改请求的设置
5、定时器:负责定义请求之间的延迟间隔
6、取样器( Sampler):是性能测试中向服务器发送请求,记录响应信息、响应时间的最小单元,如: Http Request Sampler、 FTP Request Sample、 TCP Request Sample
BC Request Sampler等,每一种不同类型的 sampler可以根据设置的参数向服务器发出不同类型的请求。
7、后置处理器:负责在请求之后工作,常用获取返回的值
8、断言:用来判断请求响应的结果是否如用户所期望的
9、监听器:负责收集测试结果,同时确定结果显示的方式。
10、逻辑控制器:可以自定义 IMeter发送请求的行为逻辑,它与 Sampler结合使用可以模拟复杂的请求序列
参考:Jmeter的使用 提取码:ben8
Jmeter逻辑控制器  循环
11、正则表达式提取器
后置处理器——正则表达式提取器
正则表达式:过滤数据的规则是一种语言规则
元字符
限定符
匹配字符
至少匹配一次
d匹配数字
匹配0次或者多次
[0-9]在0-9之间的数字
只匹配一次
[a-z]在小写字母a-z之间的字母n}匹配n次
[A-2]在大写字母A-Z之间的字母{n,m}匹配n到m次
[a-zA-ZI
( com cn)com或者cn固定字符匹配
12、Json提取器
后置处理器——json提取器
13、txt&csv文件的处理
txt&csv文件的处理参考——提取码:ben8

五、Fiddler抓包工具的简单使用

Windows X64操作系统Fiddler下载地址——提取码:ben8仅持win7以上操作系统版本 win以下操作系统须安装Microsoft Visual C++ 库文件
Fiddler界面
1、Fiddler不支持https协议的基本设置
菜单栏>Tools>Options…
Fiddler
Fiddler2
Fiddler自动响应

六、通过Fiddler抓取Jmeter的数据

通过设置Jmeter的代理服务器

七、问题

1、如果没有接口文档 你怎么做接口测试?
答:通过浏览器抓包 分析
2、通过工具抓包 比如Fiddler工具抓包分析
问题2:怎样做第三方接口?
答:Fiddler下面有一个AutoResponder 通过设置AutoResponder可以做