1.JMeter接口关联
含义:把上一个接口的响应内容,作为下一个接口的请求参数
思路:通过变量来传递数据
步骤:
1.创建:上一个接口,添加【后置处理器】:提取数据+创建变量
2.使用:${变量名}
提取器:
1.CSS:给网页使用
2.JSON:给JSON数据使用
3边界:给字符串使用(只能提取一个)
4.正则:更高级的字符使用(可以提取n个字符)
5.XPath:给网页使用
必须掌握:
JSON+边界
JSON+正则
1.边界提取器(查看结果树/边界提取器测试)
通过指定左边界/右边界,把边界中间的变量,提取出来,放到引用名称里(变量名)
2.正则提取器
正则:强大并且复杂(查看结果树/RegExp Tester)
将需要提取的数据用(.*?) 来表示。例如:K,(.*),,
通过正则表达式,把数据提取n个出来,放到引用名称里(变量名)
使用变量,通过变量名+_gN 选择第几个变量
3.JSON提取器
通过JSONPATH语法,从JSON数据中提取1个变量
JSONPATH可以更加简单,便捷,精确提取指定的数据
2.JMeter接口断言
默认情况下,预期状态码为200
1开头:继续请求
2开头:请求成功
3开头:重新请求
4开头:客户端错了
5开头:服务器端错了
响应断言:
JSON断言(使用JSON提取器,对提取结果进行断言)
自定义断言(通过代码实现)
3.JMeter接口实战
基于项目分析的实战风格
1.分析项目
1)先分析特别点,然后列出来
eg:
项目使用cookie鉴权 —— 配置元件/HTTP Cookie管理器
参数使用表单,可能需要自定义请求头
接口地址前缀前同 —— 配置元件/HTTP请求默认值
接口之间存在关联 —— 配置元件/用户定义的变量
接口参数要求不能重复
接口响应有JSON
2.创建公共元件
查看结果树
配置元件/HTTP Cookie管理器
配置元件/HTTP请求默认值
配置元件/用户定义的变量
3.补全取样器和子级辅助元件
每一个接口一个取样器
根据接口文档来配置辅助元件
自动创建新的不重复内容:
函数:uuid
4.JMeter数据驱动测试
1.先添加一个逻辑控制器/While控制器
2.再添加一个配置原件/CSV Data Set Config(CSV数据集)
把数据变成csv文件,首行为字段名,数据用,分割