我正在使用SoapUI并且对此非常陌生。我应该做一些REST测试,其中很多都与动态资源有关,所以我必须在运行时读取一些json结果。我第一次这样做时效果很好:
...
def response = context.expand('${Get ContractModels#Response}')
def slurper = new JsonSlurper().parseText(response)
for (i in slurper.ContractModels){
testRunner.testCase.testSteps["ContractModelOptionStep"].setPropertyValue("id",sprintf('%d',i.ContractModelID));
testRunner.runTestStepByName("ContractModelOptionStep")
def innerResponse = context.expand('${Get ContractModelOptionStep#Response}')
log.info(response)
log.info(innerResponse)
def innerSlurper = new JsonSlurper().parseText(innerResponse);
...
}
这很好地适用于最后一行,它告诉我JSON输入文本既不应为null也不应为空。感谢log.info,我发现内部响应的JSON Strong实际上是空的。现在我的问题是我不知道为什么,runTestStepByName完全正常工作并给出预期的响应。
干杯
答案 0 :(得分:1)
在这两行中:
testRunner.runTestStepByName("ContractModelOptionStep")
def innerResponse = context.expand('${Get ContractModelOptionStep#Response}')
测试步骤的名称不匹配!尝试:
def innerResponse = context.expand('${ContractModelOptionStep#Response}')