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

Jmeter - create an exclusion list of visited pages

我有一个项目,我在其中对交易执行状态更改,我想将交易 ID 放入某种排除列表中,并在 IfController 中检查 ID 是否不在该列表中

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

我所做的是将 JSR223 Post-处理器放入 "Change transaction Status" 中:

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", exclusionList);

收到 exclusionList Not defined 错误

首先你需要定义exclusionList with def as groovy.

其次你需要putObject方法来添加非字符串变量。

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

另外 JSR223 Pre-processor 检查 jmeter.log 错误并尝试理解错误或将其添加到问题中。