Передача JSON в набросок сценария - PullRequest
1 голос
/ 16 мая 2019

https://github.com/intuit/karate/issues/554

У меня многострочный JSON, я хотел бы выполнить итерацию для каждой строки, используя схему сценария

Это работает, если я вызываю по номеру строки, я используюдинамический файл JSON

Data.json

[
{
    "address": {
        "addressLine1": "ttes",
        "addressLine2": "Test"
    },
    "name": {
        "firstName": "TEST",
        "lastName": "TEST"
    },
    "phone": {
        "phoneExtension": "1234",
        "phoneNumber": "999999999"
    },
    "email": {
        "emailAddress": "TEST@TEST.com"
    }
},
{
    "address": {
        "addressLine1": "ttes1",
        "addressLine2": "Test1"
    },
    "name": {
        "firstName": "TEST1",
        "lastName": "TEST1"
    },
    "phone": {
        "phoneExtension": "1234",
        "phoneNumber": "999999999"
    },
    "email": {
        "emailAddress": "TEST@TEST1.com"
    }
}]

Работает, если

Feature: Read from File

Background:
* def Testdata = read('Data.json')

Scenario Outline: [1] Test with multiple records on JSON

Given url_stg
And path 'test','test' 
And request Testdata[0]
When method POST  

Examples:
|Testdata   |

Работает для Testdata [0].У меня есть динамический JSON, я ищу способ автоматически перебирать JSON.

Мое тело запроса должно быть одной строкой из JSON, например:

{
"address": {
    "addressLine1": "ttes1",
    "addressLine2": "Test1",

},
"name": {
    "firstName": "TEST1",
    "lastName": "TEST1",

},
"phone": {
    "phoneExtension": "1234",
    "phoneNumber": "999999999",
},
"email": {
    "emailAddress": "TEST@TEST1.com"
}

1 Ответ

1 голос
/ 16 мая 2019

Это будет проще в следующей версии, смотрите этот билет: https://github.com/intuit/karate/issues/717#issuecomment-489339287

Так что, если вы можете собрать из исходного кода и проверить, это поможет.

Пока вы должны сделать это:

And request { address: <address>, name: <name>, phone: <phone>, email: <email> }
...