需要从Bean Shell Sampler Jmeter中仅提取模数值吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要从Bean Shell Sampler Jmeter中仅提取模数值吗?相关的知识,希望对你有一定的参考价值。

在我的Bean Shell Sampler中,我得到了响应

孙RSA公共密钥,2048位模数:22295351891298217229975679072351263454572804823888397394956934480688545098388363434555311921650592166059251017638546278442305958792511628365321549674368487249258317999232492062784515102404906734978121435799114700302881045885988703962970888009290777606595760751230036638945779986258956916131307234869683993065702144540870733479633460269689089976061715241046980179651894991519601546098863574672792649655278518708922038045203420614818093220439077000089729610115783652292803355176127125944925842204444536282480600674854449097908926668384181326756503446116301460522215211454108585731728225508829847198093781511594519426983公用指数:65537

我只需要提取模数字段中的值。我们怎样才能在Jmeter中做到这一点?帮助很有用!

答案
  1. 切换到JSR223 SamplerGroovy语言
  2. 使用下面的代码使用正则表达式Matcher来提取“模数”值 def response = 'Sun RSA public key, 2048 bits modulus: 22295351891298217229975679072351263454572804823888397394956934480688545098388363434555311921650592166059251017638546278442305958792511628365321549674368487249258317999232492062784515102404906734978121435799114700302881045885988703962970888009290777606595760751230036638945779986258956916131307234869683993065702144540870733479633460269689089976061715241046980179651894991519601546098863574672792649655278518708922038045203420614818093220439077000089729610115783652292803355176127125944925842204444536282480600674854449097908926668384181326756503446116301460522215211454108585731728225508829847198093781511594519426983 public exponent: 65537' def matcher = response =~ /modulus: (.+?) public/ if (matcher.find()) { log.info(matcher.group(1)) }

参考文献:


Beanshell等效以防万一:

import java.util.regex.Matcher;
import java.util.regex.Pattern;


String response = "Sun RSA public key, 2048 bits modulus: 22295351891298217229975679072351263454572804823888397394956934480688545098388363434555311921650592166059251017638546278442305958792511628365321549674368487249258317999232492062784515102404906734978121435799114700302881045885988703962970888009290777606595760751230036638945779986258956916131307234869683993065702144540870733479633460269689089976061715241046980179651894991519601546098863574672792649655278518708922038045203420614818093220439077000089729610115783652292803355176127125944925842204444536282480600674854449097908926668384181326756503446116301460522215211454108585731728225508829847198093781511594519426983 public exponent: 65537";
Pattern p = Pattern.compile("modulus: (.+?) public");
Matcher m = p.matcher(response);
if (m.find()){
    log.info(m.group(1));
}

以上是关于需要从Bean Shell Sampler Jmeter中仅提取模数值吗?的主要内容,如果未能解决你的问题,请参考以下文章

Sampler:可视化数据库监控警报工具

Jmeter发送邮件功能SMTP Sampler

JEE、J2EE、JSE、JME 和 JDK 有啥区别? [复制]

Jmeter中Bean shell脚本格式修改为utf-8

JME3 引擎和 nullPointerException

请问JME是啥意思