Var1在Jmeter上达到某个值后如何递增我的Var2?

时间:2017-03-02 02:25:30

标签: jmeter

我需要在Var1达到某个值后递增我的Var2,如何在Jmeter中做到这一点。

我尝试使用JavaScript的JSR223,但没有运气(我是JS新手)。

例如:

Var1 = FirstName
Var2 = LastName

我的用例:

FirstName1.LastName1
FirstName1.LastName2
FirstName1.LastName3
FirstName1.LastName4
FirstName1.LastName5

FirstName2.LastName1
FirstName2.LastName2
FirstName2.LastName3
FirstName2.LastName4
FirstName2.LastName5
.
.
.

我尝试了JS,如下所示,然后我从JS调用FirstName,如${__javaScript(‘${FirstName}’)}

FirstName = 1;
function k()
{
   if (${LastName} == 5)
   {
      FirstName++;
      return FirstName;
   }
   else
   {
      return FirstName;
   }
 }

1 个答案:

答案 0 :(得分:1)

我建议切换到Groovy语言,以防需要多个线程多次执行此计算时Groovy的工作速度比JavaScript快得多。

示例Groovy代码如下所示:

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

int FirstName = 1;  
String lastName = vars.get("LastName");
Pattern p = Pattern.compile("(\\d+)");
Matcher m = p.matcher(lastName);
if (m.find()) {
    int LastName = Integer.parseInt(m.group(1));    
    if (LastName >= 5) {
        FirstName++;
    }   
}

return "FirstName" + FirstName;

有关更详细的说明,基准和脚本最佳做法,请参阅Groovy Is the New Black文章。