Groovy json字符串为空

时间:2014-12-17 07:52:36

标签: json groovy soapui

我正在使用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完全正常工作并给出预期的响应。

干杯

1 个答案:

答案 0 :(得分:1)

在这两行中:

testRunner.runTestStepByName("ContractModelOptionStep")

def innerResponse = context.expand('${Get ContractModelOptionStep#Response}')

测试步骤的名称不匹配!尝试:

def innerResponse = context.expand('${ContractModelOptionStep#Response}')