我需要在JMeter中添加四个变量,并将它们存储在另一个变量中,该变量将用于以后的请求(存储在变量finalScore中。我有一个BeanShell PreProcessor,其代码如下:

overallScore = ${__intSum(${score1}, ${score2}, ${score3}, ${score4}, finalScore)};


在执行过程中,我不断收到以下错误:

2015/10/16 14:05:05 ERROR - jmeter.JMeter:
Uncaught exception:  java.lang.NumberFormatException:
For input string: "${score1}"


关于什么是错误的以及如何解决的任何想法?

最佳答案

看来您的${score1}变量未定义
您需要从__intSum()函数中删除空格,正确的语法是

${__intSum(${score1},${score2},${score3},${score4},finalScore)}

您不需要Beanshell,因为score1-4的总和将存储为${finalScore}
如果您需要得分1-4和finalScore的总和-将功能修改为:

${__intSum(${score1},${score2},${score3},${score4},${finalScore},overallScore)}



参考文献:


__intSum()用户手册章节
How to Use JMeter Functions - Part III提供了__intSum()函数的几个用例



  $ {__ intSum(1,5,)}-将返回6
  
  $ {__ intSum(1,5,8)}-将返回14
  
  $ {__ intSum(1,5,8,SUM)}-将返回14并将其存储到SUM变量
  
  $ {__ intSum(10,-5)}-将返回5
  
  $ {__ intSum($ {A},$ {B})}-将返回对A和B变量的整数表示和的求值,这对于计数器值处理很方便。


以及其他信息。

10-07 20:34