Мне нужно отправить запрос на получение токена авторизации и включить его в заголовок для всех последующих тестовых запросов. Этот токен меняется каждый раз, но он действителен в течение всего тестового сеанса, пока я продолжаю отправлять запросы. В каждом файле функции я могу вызвать другой файл функции, чтобы получить этот токен. Но я не хочу делать это для каждого файла функции. Я просто хочу получить токен один раз в начале теста и использовать его для всех файлов функций. Как я могу это сделать? Я прочитал информацию о карате на GitHub, но не нашел ответа.
Как установить глобальный заголовок для всех файлов функций в Karate API
Ответы (1)
Второй пример в демонстрациях отвечает на все ваши вопросы: карате-демо .
РЕДАКТИРОВАТЬ1: Извините, я слишком быстро прочитал ваш вопрос. Вы можете использовать karate.call()
в karate-config.js
, чтобы он применялся ко всем файлам функций. Я не рекомендую это, потому что у вас всегда будут некоторые функции, которые вам НЕ нужны. Просто позвоните в функцию и не переусердствуйте с тестами.
EDIT2: я подумал об этом немного больше, если вам комфортно с Java, вы можете сделать вызов синглтона в начале каждой функции (или даже в глобальном karate-config.js
), и в этом синглтонном кеше значение токена аутентификации . Таким образом, вы можете делать именно то, что вам нужно, и это будет гибко.
EDIT3: на основе этого вопроса - мы добавили эту функциональность в Каратэ как karate.callSingle()
операцию, вот документ: https://github.com/intuit/karate/tree/develop#the-karate-object
karate.callSingle()
и версия 0.7.0.RC1, которую вы можете попробовать - вот документ: github.com/intuit/karate/tree/develop#the-karate-object - было бы здорово, если бы у вас была возможность проверить
- person Peter Thomas; 30.12.2017
karate.configure('headers', { aheader: 'yourHeaderValue' })
для статических заголовков
- person zakaria amine; 24.05.2019