Я настроил базовый URL-адрес, и теперь мне нужно настроить одну переменную (хранящуюся), которая будет использоваться во многих запросах. для запуска теста 2-3 раза для разных магазинов мне нужно вручную перейти к каждой функции и изменить storied. Итак, как мне объявить глобальную переменную и как привязать ее к запросу?
Как создать глобальную переменную в карате?
Ответы (1)
Так же, как вы делали baseUrl
, просто добавьте переменную в karate-config.js
, и она будет доступна во всех тестах.
Если вы установите переменную с помощью def
, она будет доступна для остальной части сценария. Если вы хотите использовать повторно, используйте раздел Background
или посмотрите документацию для call
.
(редактировать:)
См. Документацию: https://github.com/intuit/karate#configuration
Если это сбивает с толку, просто потратьте 5 минут со всеми, кто знает JavaScript, и попросите их прочитать приведенный выше раздел. Вы получите решение в кратчайшие сроки. Всего наилучшего !
person
Peter Thomas
schedule
27.09.2017
это может быть не идеально, учитывая сценарий: мне нужна функция для создания учетной записи, еще одна функция для создания контейнера и несколько других, чтобы добавить службу в этот контейнер, мне понадобится идентификатор контейнера, скажем, было бы предпочтительнее иметь возможность чтобы сохранить идентификатор как глобальное значение после вызова, а не вызывать его для каждого файла дополнительных функций службы. Это возможность хранить глобальные значения вместо того, чтобы иметь один огромный файл функций, а не вызывать скрипт для получения идентификатора для каждого скрипта функции, который в нем нуждается.
- person Dusan Gligoric; 19.11.2018
@DusanGligoric - это то, для чего предназначен
callSingle()
, но я не рекомендую его так, как вы хотите, поскольку это очень плохой шаблон и объединяет несколько функций вместе. вот так: github.com/intuit/karate#hooks
- person Peter Thomas; 19.11.2018