jmeter正则表达式提取器

上一篇 / 下一篇  2012-04-16 15:15:07 / 个人分类:jmeter

从 Response 中获得数据操作步骤:
1、可以使用 JMeter 提供的 后置处理器(Post Processers) --> 正则表达式提取器 (Regular Expression Extractor) 从返回的结果中取得数据, 在确定 getToken() 请求的返回值是类似下列的 XML 之后,
<?xml version="1.0" encoding="utf-8"?><burlap:reply xmlns:burlap="http://www.amowa.net/burlap/"> <string>TK1119466440468</string></burlap:reply>
我们可以使用正则表达式 "<string>(.*)<\/string>" 来提取我们需要的凭证号.
 
<PropertyRoomTypeID>(.+?)<\/PropertyRoomTypeID>
 
2、这样使用"正则表达式提取器"(如下图), 注意图中的"引用名称"就可以认为是存放提取出来的数据的变量名:
3、提取出来的变量可以这样被引用(如下图)

Jmeter正则表达式详解:
1、提取单个字符串:
假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。
一个符合要求的正则表达式:name = "file" value = "(.+?)">。
():封装了待返回的匹配字符串。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
 
2、提取多个字符串:
假设测试人员期望匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取file和readme.txt。
一个符合要求的正则表达式:name = "(.+?)" value = "(.+?)"。
引用名称:MYREF
模板:$1$$2$
如下变量的值将会被设定:
MYREF_g0:name = "file"value = "readme.txt"
MYREF_g1:file
MYREF_g2:readme.txt
引用${MYREF_g1}
 
3、
引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。
提取到的参数,调用时用${product_id_1},${product_id_2},${product_id_3}……;
如果想要得到匹配出的参数的个数,用${product_id_matchNr};如果想随机选取其中一个,只需将匹配数字设为0,使用${product_id}调用即可。
可以一次匹配多组;示例中只匹配了一个,假如正则表达式为 name="chkProductIds"
id="chk(.+?)" value="(.+?)",就会有两组参数。想获得匹配到的组个数用${product_id_g}。模
板针对的是匹配到的字符串再做组的区分,比如希望${product_id}取出的是第二组参数的
值,用$2$。


 

TAG:

 

评分:0

我来说两句

Open Toolbar