Как ограничить выполнение файла объектов одним разом при использовании вызова с параметром массива (выполнить __цикл 0)

#karate

#karate

Вопрос:

Вот моя ситуация: у меня есть последовательность шагов для создания пользователей на основе случайного ввода, т. е. от 1 до 5. Для этого у меня есть функция js, которая выполняет цикл на основе случайного ввода, и выполняется вызов повторно используемой функции для создания пользователей. Идентификатор пользователя сохраняется в массиве json после каждого запроса create user, поскольку мне нужно активировать этих пользователей позже.

Это результат, который я получаю на этапах создания пользователя

  • def UserIds = [{id: user1}, {id: user2}, {id: user3}]

Шаги активации пользователя: Здесь я вызываю повторно используемую функцию с сгенерированным выше массивом с параметром UserIds.

  • результат определения = чтение вызова(‘r_userActivation.функция’) Идентификаторы пользователей

У меня есть функция js в функции r_userActivation для генерации динамической полезной нагрузки для запроса активации пользователя на основе no. созданных пользователей. Полезная нагрузка — это что-то вроде этого

 <users>
    <user>user1</user>
    <user>user2</user>
    <user>user3</user>
</users>
  

Поскольку моим параметром является массив, вызываемый файл объектов пытается выполняться в цикле в пределах длины моего массива.

Есть ли способ ограничить выполнение оператора вызова __loop одним разом, поскольку мне не нужен мой запрос для цикла.

Любая помощь приветствуется. Спасибо

Ответ №1:

Просто измените форму данных:

 * def users = { ids: '#(userIDs)' }
  

Также посмотрите на преобразования JSON: https://github.com/intuit/karate#json-transforms

Комментарии:

1. Спасибо. Точно, я работал над изменением формы данных. Спасибо вам за то, что вы сделали автоматизацию простой и быстрой. Прошло всего несколько дней, как я начал заниматься каратэ, постучите по дереву; все идет отлично!!!