Api 使用BDD空手道验证阵列案例中的阵列

Api 使用BDD空手道验证阵列案例中的阵列,api,testing,bdd,karate,cucumber-java,Api,Testing,Bdd,Karate,Cucumber Java,将空手道bdd插件与cucumber一起用于自动测试用例。验证数组中包含数组列表的api结构时遇到问题。 如何使用bdd空手道验证数组结构中的valuesets数组 { "reqParam": "5bacfbaaa222ed1500f5aa7a", "selectionLimit": [], "valuesets": [ [{ "test": "sample", "testB": "sampl

将空手道bdd插件与cucumber一起用于自动测试用例。验证数组中包含数组列表的api结构时遇到问题。 如何使用bdd空手道验证数组结构中的valuesets数组

{
    "reqParam": "5bacfbaaa222ed1500f5aa7a",
    "selectionLimit": [],
    "valuesets": [
        [{
                "test": "sample",
                "testB": "sample"
            },
            {
                "test": "sample",
                "testB": "sample"
            },
            {
                "test": "sample",
                "testB": "sample"
            }
        ],
        [{
                "test": "sample",
                "testB": "sample"
            },
            {
                "test": "sample",
                "testB": "sample"
            }
        ]
    ]
}
下面是我为完成这项任务而编写的一段代码

* def samplePacket = { test: '#string', testB: '#string'}
Scenario: Check the valid params
        Given url API_URL
        Given path 'getParam/apicall'
        And params validParameter
        When method get
        Then status 200
        And match header Content-Type == 'application/json; charset=utf-8'
        #And print response.valuesets[0]
        Then match each response.valuesets == #[] samplePacket

您有多个级别的嵌套数组

* def valueset = { test: '#string', testB: '#string' }
* def setarray = '#[] valueset'
* match response.valuesets == '#[] setarray'