Проверьте массив в случае массива с каратэ BDD - PullRequest
0 голосов
/ 27 сентября 2018

Использование плагина karate bdd для автоматизированного тестирования вместе с огурцом.Столкнулся с проблемой проверки структуры API, имеющей список массивов в массиве.Как проверить массив значений в структуре массива с помощью bdd karate?

{
    "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

1 Ответ

0 голосов
/ 27 сентября 2018

У вас есть несколько уровней вложенных массивов.

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