一、接口测试基础
1.为什么要做接口测试?
(1) 前后端分离
(2) 项目一般都不是独立的,经常要调用外部的项目。项目和项目之间交互数据,通过接口交换。
(3) 安全考虑
2.接口测试测什么?
USB接口:数据传递的正确性(参数),输出结果的正确性,以及各种容错处理和权限控制。
项目接口:参数,结果,容错处理,权限。
3.接口测试工具?
Jmeter, Postman, Apifox, Apipost等
二、Jmeter安装配置以及核心目录详解
jmeter基于java语言来开发,java需要jdk环境。
1.安装jdk并且配置jdk的环境变量。
2.jmeter只需要解压就可以使用了。
D:\apache-jmeter-5.5\bin双击jmeter.bat文件就可以启动和使用。

backups:自动备份的目录
bin:jmeter.bat启动文件,jmeter.propties核心配置文件
extras:存放和第三方集成的构建文件,Ant+Jenkins会用到
lib:存放jar包
三、jmeter组件和作用域详解
10大组件(元件):
1.测试计划:容器
2.线程组:1-N用户
3.配置元件:接口配置,协议,接口服务器IP,接口服务器端口
4.前置处理器:在接口请求之前的操作
5.逻辑控制器:判断条件成立才请求接口,循环请求
6.定时器:延迟请求接口
7.取样器:发送请求
8.后置处理器:在接口请求之后的操作
9.断言:判断接口是否成功
10.监听器:收集测试结果
组件的作用域(非常重要):
结论一:组件可以作用于父组件,得出:如果我的组件只想作用于一个组件,那么就放到这个组件下面
结论二:组件可以作用于平级兄弟组件。
结论三:组件可以作用于平级兄弟组件之下的子组件。
四、Jmeter接口测试实战
场景一:我一个人负责所有的接口:项目规模不大
http:80
https:443
接口文档一般是开发给的,如果没有那就需要抓包。
请求:
-
请求方式: get,post,put,delete
-
请求路径:
-
请求参数:
-
查询字符串参数:直接在路径后面以?传,多个参数之间用&分开。
-
json参数:在消息体数据传
-
文件参数:在文件上传传递
-
-
请求头:
-
accept
-
x-requesed-with (注:原图拼写如此,通常应为 x-requested-with)
-
cookies
-
响应: 查看结果
五、接口关联
注意:access_token每一次请求之后都是会变的。不是固定的。
下一个接口需要用到上一个接口的access_token参数===接口关联
接口关联:
方式一:jsonpath实现接口关联:提取json数据,表达式写法:
$ 根节点
. 取子节点的值
分两步走:
在第一个接口使用jsonpath表达式取值:$.access_token
在下一个接口使用${变量名}使用值。
方式二:正则表达式实现接口关联:提取文本数据,表达式写法:
<input type="hidden" name="csrf_token" value="647c4ae98dfa90e7"/>
取值:647c4ae98dfa90e7
左边界+取值+右边界(必须唯一):name="csrf_token" value="(.*?)"