性能测试工具 - JMeter接口依赖之关联
二、JMeter关联
1、关联的概述
关联: 后一个接口的请求参数依赖与前一个接口的响应数据,即接口之前的依赖问题。
原理: 从上一个接口的响应中提取数据保存到变量(参数), 下一个接口直接引用变量的值。
2、JMeter后置处理器
后置处理器的适用场景:
- 正则表达式提取器: 响应内容为任意格式文本
- 边界值提取器: 有明显的左右边界的数据
- JSON提取器: JSON格式
- XPATH提取器: HTML或XML格式
- CSS选择提取器: HTML格式
3、正则表达式提取器
到底什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
常用限定符
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
常用反义词
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
在JMeter我们一般是使用万能的正则表达式提取器 :
使用“(.+?)”替换要提取的文本
正在表达式提取器的设置
4、边界值提取器
明显的左右边界值提取器
5、JSON提取器
json的路径表达式测试
JSON的提取器设置