Как создать глобальную переменную в карате?

Я настроил базовый URL-адрес, и теперь мне нужно настроить одну переменную (хранящуюся), которая будет использоваться во многих запросах. для запуска теста 2-3 раза для разных магазинов мне нужно вручную перейти к каждой функции и изменить storied. Итак, как мне объявить глобальную переменную и как привязать ее к запросу?


person zzz    schedule 27.09.2017    source источник


Ответы (1)


Так же, как вы делали baseUrl, просто добавьте переменную в karate-config.js, и она будет доступна во всех тестах.

Если вы установите переменную с помощью def, она будет доступна для остальной части сценария. Если вы хотите использовать повторно, используйте раздел Background или посмотрите документацию для call.

(редактировать:)

См. Документацию: https://github.com/intuit/karate#configuration

Если это сбивает с толку, просто потратьте 5 минут со всеми, кто знает JavaScript, и попросите их прочитать приведенный выше раздел. Вы получите решение в кратчайшие сроки. Всего наилучшего !

person Peter Thomas    schedule 27.09.2017
comment
это может быть не идеально, учитывая сценарий: мне нужна функция для создания учетной записи, еще одна функция для создания контейнера и несколько других, чтобы добавить службу в этот контейнер, мне понадобится идентификатор контейнера, скажем, было бы предпочтительнее иметь возможность чтобы сохранить идентификатор как глобальное значение после вызова, а не вызывать его для каждого файла дополнительных функций службы. Это возможность хранить глобальные значения вместо того, чтобы иметь один огромный файл функций, а не вызывать скрипт для получения идентификатора для каждого скрипта функции, который в нем нуждается. - person Dusan Gligoric; 19.11.2018
comment
@DusanGligoric - это то, для чего предназначен callSingle(), но я не рекомендую его так, как вы хотите, поскольку это очень плохой шаблон и объединяет несколько функций вместе. вот так: github.com/intuit/karate#hooks - person Peter Thomas; 19.11.2018