-----使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。-----

Jmeter(六)-关联设置

和断言、集合点、思考时间、参数化与lr功能基本相同外,jmeter的关联功能也是有的,在一定功能需求方面,jmeter还是该有的都有啦,只是功能微弱一些。

关联的方法:

方法一,从前一个请求中取,用正则表达式提取器。

具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器

引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。

模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。

匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

方法二,用xpath从前一个请求中取。这种形式比较适合于返回为xml片段的情况。

在需要获得数据的请求上右击添加一个后置处理器-->xPath Extractor。

引用名称即下一个请求要引用的参数名称,如填写body,则可用${body}引用它。

XPath query,即xpath的表达式,要符合xpath的语法。

http://blog.sina.com.cn/s/blog_625651900100gjmm.html

http://blog.csdn.net/zhangren07/archive/2010/10/15/5944158.aspx

clip_image002

<input id="am1" class="am" type="text" onfocus="this.blur();" readonly="readonly" value="城西分店" tag="56964" onclick="hidediv('select1')" />

clip_image004

clip_image005

别用-1
负数表示取所有值,是以数组方式存放
调用需要用数组方式调用。

0表示随机
1表示第一个匹配的
2表示第二个匹配的
依次类推

引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。

Jmeter中的关联用函数_regexFunction实现,函数字符串可以通过“函数助手对话框”生成。

  1、正则表达式:s0.id="(.*)";如果response中有类似s0.id="_fks_JV8Uodp1O7nE9VFbRgYT5w==";这样的字符串,那么参数的值就为:_fks_JV8Uodp1O7nE9VFbRgYT5w==

  2、参数的组别:如果前面的正则表达式取了不止一个参数(如 s0.id="(.*)";s0.ip="(.*)";),那么这里需要制定参数的组别,如果该参数为 $1$,则表示取得第一个值(id),$2$表示取得第二个值(ip)。

  3、第几个参数:组别设置好以后,还有一个问题,如果response中有两个地方都能够匹配s0.id="(.*)";s0.ip="(.*)";这个字符串,那么这里可以选择取第几次匹配,选择1表示第一次匹配,依次类推。还可以选择All,表示选择所有匹配,这个不大用到,具体可以看jmeter的帮助。

  4、当3步骤的参数选择ALL时用到,不再详述。

  5、默认值:如果response中没有匹配值,就使用该默认值。

  6、看不懂

posted @ 2012-11-19 15:54  ZhuQue  阅读(16428)  评论(0编辑  收藏  举报
多年性能测试、测试管理经验,专注银行、支付、电商行业,倾向于性能、安全、 监控、调优、模型、管理等方向的研究。
使用技术手段解决问题,坚信注重每一个细节,把熟悉的做到一种极致,一定会有创新出现。