SOAPUI - 使用Groovy Scripting

时间:2017-03-21 11:58:17

标签: json rest groovy soapui

我正在使用SOAPUI自动化REST API。我有两种不同的资源,以下是Response JSON格式。 根元素不同,但状态块对于响应jsons保持相同。在Rest API POST调用之后,我有一个Groovy脚本来验证响应(如果“code”==“00”)

目标:使用Groovy脚本,我将通过JSON解析并检索“代码”节点值,而不管根元素。

响应(JSON)格式

{
    "resouurce_1_response":
    {
        "status":
        {
            "code": "00"
        }
    }
}

{
    "resource_2_response":
    {
        "status":
        {
            "code": "00"
        }
    }
}

1 个答案:

答案 0 :(得分:1)

这样做的一个简单方法是:

def json1 = '{ "resouurce_1_response": { "status": { "code": "00" } } }'
def json2 = '{ "resource_2_response": { "status": { "code": "00" } } }'

import groovy.json.*

def slurper = new JsonSlurper()

assert slurper.parseText(json1).find().value.status.code == '00'
assert slurper.parseText(json2).find().value.status.code == '00'

当然,如果您的实际Json比您显示的更复杂,您可能需要做一些不同的事情(递归地走地图?)