我有下面的JSON提取器在JMeter Json Extractor setupThread structure中运行
它遍历一个对象数组并获取所有ActivityId值,下面的对象是数据结构的一个示例,值已删除,但有一个我需要帮助
{
"Id":
"Date":
"SubmitterId":
"ImpersonatorId":
"ActivityType":
"ActivityInformation": {
"SourceSystem":
"SourceId":
"SubmitterId":
"ImpersonatorId":
"ActivityType":
"ActivityId": "8b238a9e-3a3c-4ed6-8fbf-255e99edb540",
"SubmissionType":
}
}
运行时会得到大约700个结果。
当我尝试使用log.info("Test output of json extracted " + "${activityids}")
查看通过Groovy后处理器脚本生成的变量值时,
我得到以下错误`2023-08-07 20:50:48,686 ERROR o.a.j.e.JSR223PostProcessor:JSR 223脚本中的问题,JSR 223后处理器javax.script.ScriptException:groovy.lang.MissingPropertyException:无此类属性:类的activityid:脚本13
我需要做的是以某种方式将其转换为id数组,我认为需要将其存储为JMeter变量,然后添加到下一个POST调用的主体中,这些ID将返回更多数据。
所有帮助非常感谢
我知道这些值是存储的,因为我可以在一个foreach控制器中看到它们,并添加一个虚拟采样器来输出值
我只是不知道该怎么做
1条答案
按热度按时间zmeyuzjn1#
1.你没有
activityids
变量值,如果你在JSON提取器中使用Match Nr作为-1
,你会得到以下创建的JMeter变量:1.不建议将JMeter函数或变量内联到Groovy脚本中,因为只有第一个出现的情况才会被缓存并在后续迭代中返回。使用
vars
简写为JMeterVariables类示例。更多信息请参阅: