目录
一、Jmeter关联的方式:
Jmeter中关联可以在需要获取数据的请求上 右键-->后置处理器 选择需要的关联方式,如下图有很多种方法可以提取动态变化数据:
二、正则表达式提取器
1、比如需要提取如下响应文本中的 “<title>百度一下,你就知道</title>” 里面的 “百度一下,你就知道”:
2、设置正则表达式提取器:
三、说明
(1)引用名称:
下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
(2)正则表达式:
-
():括起来的部分就是要提取的。
-
.:匹配任何字符串。
- +:一次或多次。
- ?:不要太贪婪,在找到第一个匹配项后停止。
(3)模板:
用 $$ 引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给title。如:
$-1$:表示取所有值
$0$:表示随机取值
$1$:表示取第1个
$2$:表示取第二个
以此类推
(4)匹配数字:
0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:
如果参数没有取得到值,那默认给一个值让它取。
(6)使用获取到的值:
四、关于正则表达式的举例说明:
1、提取单个字符串:
假如想匹配Web页面的如下部分:
name = "file" value = "readme.txt">
提取readme.txt。一个合适的正则表达式:
name = "file" value = "(.+?)">
():封装了待返回的匹配字符串。
.:匹配任何单个字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
2、提取多个字符串:
假如想匹配Web页面的如下部分:
name = "file" value = "readme.txt">
并提取file.name和readme.txt,一个合适的正则表达式:
name = "(.+?)" value = "(.+?)"
这样就会创建2个组,分别用于$1$和$2$
比如设置内容:
引用名称:MYREF
模板:$1$$2$
如下变量的值将会被设定:
MYREF: file.namereadme.txt
MYREF_g0: name = "file.name"value = "readme.txt"
MYREF_g1: file.name
MYREF_g2: readme.txt
在需要引用地方可以通过:${MYREF_g1}, ${MYREF_g2进行使用。