Jmeter - 创建已访问页面的排除列表

时间:2017-09-06 11:09:01

标签: jmeter jsr223

我有一个项目,我在事务中执行状态更改,并且我想将事务ID放在一个排除列表中,并在IfController检查Id是否不在该列表中

-- Get ALL transactions IDs
   -- RegEx Extract Transaction ID
   -- IfController (if(ID != null))
   -- Change Transaction Statushere

我所做的是将JSR223后处理器置于"更改交易状态"用:

if(prev.isSuccessful()){
     var id;
     id = vars.get("id");
     exclusionList = vars.get("exclusionList");
     exclusionList = exclusionList.concat([id]);
     vars.put("exclusionList", exclusionList);};

和JSR223预处理器在开头用:

var exclusionList = [];
vars.put("exclusionList", exclusionList);

所以现在我的测试文件看起来像:

    -- JSR223 Pre-processor (create list, put it in vars)
    -- Get ALL transactions IDs
       -- RegEx Extract Transaction ID
       -- IfController (if(ID != null))
          -- Change Transaction Status
          -- JSR223 Post-processor (update exclusion list with an ID)

但是我一直在vars.put上得到exclusionList Not defined error(" exclusionList",exclusionList);

1 个答案:

答案 0 :(得分:1)

首先,您需要将def的exclusionList定义为groovy。

其次,您需要putObject方法才能添加非String变量。

def exclusionList = [];
vars.putObject("exclusionList", exclusionList);

同样对JSR223 Pre-processor检查jmeter.log是否有错误并尝试理解错误或将其添加到问题中。