【问题标题】:How to validate response in rest-assured from JSON array content which doesn't have any array name?如何从没有任何数组名称的 JSON 数组内容中验证放心的响应?
【发布时间】:2015-04-23 14:54:45
【问题描述】:

我很难。 如何使用 Rest-Assured 从响应中验证以下内容?

       {  
            "code":268,
            "name":"Result-Code",
            "value":2001,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        },

如果这是我的回应:

[  
{  
    "avps":[  
        {  
            "code":263,
            "name":"Session-Id",
            "value":"ocstest;766666665;766666665",
            "type":"UTF8STRING",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":260,
            "name":"Vendor-Specific-Application-Id",
            "value":"<Grouped>",
            "type":"GROUPED",
            "group":[  
                {  
                    "code":265,
                    "name":"Supported-Vendor-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":258,
                    "name":"Auth-Application-Id",
                    "value":4,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":259,
                    "name":"Acct-Application-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                }
            ],
            "grouped":true
        },
        {  
            "code":268,
            "name":"Result-Code",
            "value":2001,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":416,
            "name":"CC-Request-Type",
            "value":1,
            "type":"INT32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":415,
            "name":"CC-Request-Number",
            "value":0,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":431,
            "name":"Granted-Service-Unit",
            "value":"<Grouped>",
            "type":"GROUPED",
            "group":[  
                {  
                    "code":420,
                    "name":"CC-Time",
                    "value":240,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                }
            ],
            "grouped":true
        }
    ]
},
{  
    "avps":[  
        {  
            "code":263,
            "name":"Session-Id",
            "value":"ocstest;766666665;766666665",
            "type":"UTF8STRING",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":260,
            "name":"Vendor-Specific-Application-Id",
            "value":"<Grouped>",
            "type":"GROUPED",
            "group":[  
                {  
                    "code":265,
                    "name":"Supported-Vendor-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":258,
                    "name":"Auth-Application-Id",
                    "value":4,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":259,
                    "name":"Acct-Application-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                }
            ],
            "grouped":true
        },
        {  
            "code":268,
            "name":"Result-Code",
            "value":5004,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":416,
            "name":"CC-Request-Type",
            "value":2,
            "type":"INT32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":415,
            "name":"CC-Request-Number",
            "value":1,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        }
    ]
},
{  
    "avps":[  
        {  
            "code":263,
            "name":"Session-Id",
            "value":"ocstest;766666666;788888888",
            "type":"UTF8STRING",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":260,
            "name":"Vendor-Specific-Application-Id",
            "value":"<Grouped>",
            "type":"GROUPED",
            "group":[  
                {  
                    "code":265,
                    "name":"Supported-Vendor-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":258,
                    "name":"Auth-Application-Id",
                    "value":4,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                },
                {  
                    "code":259,
                    "name":"Acct-Application-Id",
                    "value":0,
                    "type":"UNSIGNED32",
                    "group":[  

                    ],
                    "grouped":false
                }
            ],
            "grouped":true
        },
        {  
            "code":268,
            "name":"Result-Code",
            "value":5002,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":416,
            "name":"CC-Request-Type",
            "value":3,
            "type":"INT32",
            "group":[  

            ],
            "grouped":false
        },
        {  
            "code":415,
            "name":"CC-Request-Number",
            "value":2,
            "type":"UNSIGNED32",
            "group":[  

            ],
            "grouped":false
        }
    ]
}]

【问题讨论】:

    标签: arrays json web-services rest rest-assured


    【解决方案1】:

    我不确定这是否是最有效的方法 - 但我能够使用以下方法验证“结果代码”..

    avps.findAll { 'Result-Code' in it.name }.value[0][2]", is(2001)

    谢谢

    【讨论】:

    • 如上,如果数组元素的顺序发生变化,那么它将不起作用。请提出更稳健的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    相关资源
    最近更新 更多