Схема сценария каратэ - Создание динамической таблицы примеров на основе размера индекса массива JSON - PullRequest
1 голос
/ 11 октября 2019

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

Мой JSON выглядит как

Env - Dev - 2 сервера

"response": {
    "abc": [{
            "status": "pass"
                .
                .
        },
        {
            "status": "pass"
                .
                .
        }
    ]
}

Env - Uat - 3 сервера

{
    "response": {
        "abc": [{
                "status": "pass"
            },
            {
                "status": "pass"
            },
            {
                "status": "pass"
            }
        ]
    }
}

Мой сценарий выглядит как

Scenario Outline: validating .....

When def result = callonce read('featurefilename@tagname')

Then print result

And print <status>

And print ...

And match ....

Examples:

|result.response.abc|

Ошибки для вышеупомянутого:

1) * Не удалось выполнить динамическое вычисление выражения: result.response.abc

2) com.intuit.karate.karateExpresion: ---- оценка javascriptошибка result.response.abc, ReferenceError: в строке с номером 1

не определен «результат». Примечание. Если переместить шаг «Когда def result = callonce read ('featurefilename @ tagname') в фоновый режим, он работаеткак и ожидалось, но я не могу использовать фон в своем файле функций из-за других факторов.

Заранее спасибо

1 Ответ

1 голос
/ 11 октября 2019

Вместо предоставления индекса в таблице вы можете использовать Динамический план сценария в карате.

В этом случае вы можете передать переменную в качестве ввода Examples. Если приведенный выше JSON относится к переменной result, тогда

Examples:
 | result.response.abc |

Обратитесь к документации для получения дополнительной информации.

...