jmeter中的beanshell里怎么判断两个值大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter中的beanshell里怎么判断两个值大小相关的知识,希望对你有一定的参考价值。

参考技术A 加入“后置处理器”-;“正则表达式提取器”:引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。示例中用正则表达式匹配出产品id作为后续使用的参数。提取到的参数,调用时用36;product_id_1,36;product_id_2,36;product_id_3……;如果想要得到匹配出的参数的个数,用36;product_id_matchNr;如果想随机选取其中一个,只需将匹配数字设为0,使用36;product_id调用即可。可以一次匹配多组;示例中只匹配了一个,假如正则表达式为name=;chkProductIds;
id=;chk(.+?);
value=;(.+?);,就会有两组参数;想获得匹配到的组个数用36;product_id_g;模板针对的是匹配到的字符串再做组的区分,比如希望36;product_id取出的是第二组参数的值,用36;236;。
参考技术B 加入“后置处理器”->“正则表达式提取器”:引用名称即使用的参数名;填入正则表达式;模板选取匹配的组;匹配数字为匹配的个数,负数表示全部匹配;缺省值为没有匹配到时的取值。示例中用正则表达式匹配出产品id作为后续使用的参数。提取到的参数,调用时用$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$。

jmeter BeanShell实例-----两个变量之间的断言对比

在jmeter的中,断言没法对两个变量的进行对比后判断,只能使用Bean Shell断言来进行,总是有人来问怎么写呢。这里写一个简单的实例吧。

需求:

获取某个用户对应的设备个数接口与数据库查询的个数结果进行对比

Bean Shell断言解决方案:

获取某个用户对应的设备个数接口这个普通的Http接口,这里就不就列出了

与Oracle数据库的查询,如下图

先建立JDBC连接配置,进行JDBC查询,然后用正则提取器

再建立Bean Shell断言,如下

这里介绍下。${streamid_matchNr}是jmeter正则个数的统计

if (!"${streamid_matchNr}".equals("${res_1}"))

表示${streamid_matchNr}与${res_1}不相等则运行下面的代码。

 

区区几行bean shell快速解决问题

以上是关于jmeter中的beanshell里怎么判断两个值大小的主要内容,如果未能解决你的问题,请参考以下文章

JMeter用BeanShell获取复杂的JSON串中的某个参数的值

jmeter-beanshell断言

jmeter ssh+jdbc在beanshell里应用

jmeter beanshell里面写了函数怎么调用

beanshell中break的使用(break不再只是结束循环!)

jmeter beanshell断言充值金额是不是正确