我正在使用以下代码进行验证:
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
String sourceTargetPassJson = "{\"Apple\":[\"Apple\",\"Orange\",\"Kiwi\",\"Avocado\"],\"Orange\":[\"Orange\",\"Kiwi\",\"Avocado\"]}";
def sourceVar = vars.get("source_type");
def targetVar = vars.get("target_type");
log.info("Source :" + sourceVar + ", Target :" + targetVar + ".");
def jsonSlurper = new JsonSlurper();
def response = jsonSlurper.parseText(sourceTargetPassJson);
def json = JsonOutput.toJson(response.sourceVar);
log.info("Response: " + json);
vars.put("json", json);
这里,def json = JsonOutput.toJson(response.sourceVar);
失败,因为没有名为sourceVar
的密钥,该密钥是基于Jmeter变量source_type
获得的。假定上述Assert在循环控制器中,我希望基于每次迭代获得的source_type
进行验证。
示例:
反覆项目1、sourceVar = "Apple"
、json
应该有["Apple","Orange","Kiwi","Avocado"]
。反覆项目2、sourceVar = "Orange"
、json
应该有["Orange","Kiwi","Avocado"]
。
如何根据sourceVar
的自定义值获取变量json
的值?
1条答案
按热度按时间elcex8rz1#
通过以下更改简单地解决了该问题:
因此,如果
sourceVar
为"Apple"
,则获得的json
的值为[Apple,Orange,Kiwi,Avocado]