Jmeter 坎恩';如果我向beanshell后处理器添加uu intSum函数,则不会执行测试

Jmeter 坎恩';如果我向beanshell后处理器添加uu intSum函数,则不会执行测试,jmeter,beanshell,Jmeter,Beanshell,我在我的线程中编写了一个正则表达式(regexpname),它返回一个数字Ex:10,当我尝试在BeanShell后处理器中使用正则表达式时,通过添加\uu intSum函数向正则表达式out添加一个数字,例如:向正则表达式out添加4。,10并使用以下函数将结果存储到变量Ex:Total中: {__intSum(4,${regexpname},Total} 在尝试运行我的测试时,它会立即停止并显示消息 “Jmeter:未捕获异常:java.lang.NumberFormatException

我在我的线程中编写了一个正则表达式(
regexpname
),它返回一个数字Ex:10,当我尝试在BeanShell后处理器中使用正则表达式时,通过添加
\uu intSum
函数向正则表达式out添加一个数字,例如:向正则表达式out添加4。,10并使用以下函数将结果存储到变量Ex:Total中:

{__intSum(4,${regexpname},Total}
在尝试运行我的测试时,它会立即停止并显示消息

“Jmeter:未捕获异常:java.lang.NumberFormatException:For” 输入字符串:“${regexpname}”…”

请让我知道如何解决此问题:

以下是我在beanshell后处理器中输入的代码:

import java.text.SimpleDateFormat;

SimpleDateFormat sdf = new SimpleDateFormat("m/dd/yyyy"); // change it according to your Date format

Date originalDate = sdf.parse(vars.get("SigDate"));

Calendar cal = Calendar.getInstance();

cal.setTime(originalDate); 

${__intSum(4,${regexpname},Total)}; 

cal.add(Calendar.DAY_OF_YEAR, Total); // change it if you need to add something else

Date newDate = cal.getTime();
vars.put("newDepdate", sdf.format(newDate));

log.info("Original date: " + vars.get("SigDate"));
log.info("New date: " + vars.get("newDepdate"));

使用
inttotal=Integer.parseInt(vars.get(“regexpname”))+4
而不是
${{uuu intSum(4,${regexpname},Total)}在您的

我在测试计划中将
regexpname
定义为10,这样它就增加了14天,并将新日期存储在
newDepdate

有关beanshell的更多信息,请点击

如果有帮助,请告诉我

  • 因为它们可能会导致脚本失败或行为不一致。要么使用“参数”部分,要么使用基于代码的等效项
  • 不要使用Beanshell测试元件
  • 如果你需要“一年中的一个月”的话,你的名字看起来很古怪,因为
    m
    代表“一小时中的分钟数”——用大写字母
    m
  • 实际上,这里甚至不需要任何脚本,因为它可以做您需要的事情,相关语法如下: