我需要在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变量的整数表示和的求值,这对于计数器值处理很方便。
以及其他信息。