脚本宝典收集整理的这篇文章主要介绍了jmeter正则表达式备忘,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
图1-1
匹配的结果如图1-1,有多个符合条件的值
图1-2
如果使用匹配数字为-1(即全部匹配),那么调用时就要用${goodsid_1_g1},图1-3
Ps:${goodsid_1_g1}的意思是取goodsid这个集合中第一行第一列的值,如果取第 二行第二列即(goodsid_2_g2)
图1-3
图2-1
匹配的结果如图1-1,有多个符合条件的值
图2-2
如果使用匹配数字为1(即取第一个匹配的结果),那么调用时就要用${spuid_g1},图2-3
Ps:$spuid_g1}的意思是取goodsid这个集合中第一行第一列的值,因为只匹配了第一个符合条件的结果,所以不存在取多行的情况
图2-3
jmeter的响应结果如下图:
假设需要取横线中的class、oninput 、placeholder的内容,正则表达式可以如下图
使用的时候 name_g1 代表class的值
name_g2 代表oninput的值
name_g3 代表placeholder的值,详细取值结果下图
相应文本如下:要取红线标注的2个变量值,但是中间隔了“positionCode”,解决方法如下
正则表达式如下:
ps:不需要的变量复制过来不要动即可。
输出结果如图(debug sampler)
这种情况是1+2的组合,又分成2种情况。
响应结果没有差异,如图(有3个响应结果,中间隔的“positionCode”值都一样)
这种情况正则表达式可以这么写:
取值结果,如下:
调用的时候:values_1_g1,values_3_g2, 1~3代表行数,g1~g2代表列数
同样是上面的响应结果,假设每个匹配结果的positionCode字段值都不一样,这样正则表达式可以这样写:
就是把positionCode的值也取出来,只不过不调用使用
PS:但是这样写有一个问题,假设响应文本中有很多变量不一致,采用全部取值的方法不确 定是否会影响效率
当jmeter中正则表达式中有多个符合条件的结果是,可以选择全部匹配,然后用 ${name_row_g1}这种,变量名+行数+g(列数)的方法去需要的值;
选择匹配第一个,然后用${name_g1}来取第一个符合条件的结果,只能看成是第一种方法的简化;
另外g1为默认值可以省略,所以两种方法可以简写为:
${name_row_g1} ------>${name_row}
${name_g1} ----------->${name}
如果有多个值可以用随机取值即(匹配数字为:0)来保证请求的多样性
debug sampler可以显示Thread Group中的所有变量值,可以用来调试
以上是脚本宝典为你收集整理的jmeter正则表达式备忘全部内容,希望文章能够帮你解决jmeter正则表达式备忘所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。