Можно ли повторно использовать сценарии Postman в различных тестовых случаях Api?
В нашем проекте есть ситуация, когда нам нужно получить доступ к одним и тем же методам в разных тестовых случаях Api. В настоящее время мы скопировали и вставили все эти методы в каждый тестовый файл Api. Можно ли сделать эти методы единым методом и получить к нему доступ?
Можно хранить эти методы в Глобальной переменной. Он будет хорошо работать в Postman, но не работает при запуске в Newman.
1 ответ
Есть два способа сделать это - оба они "хакерские", и я имею в виду, что они являются побочным продуктом того, что Почтальон позволяет вам делать для других целей.
- Создайте функцию и назначьте ее переменной объекта window - пример в одном из потоков GitHub в проекте Postman. Цитата:
Я нашел хакерский обходной путь - обернуть функции, которыми вы хотите поделиться во время тестирования, в глобальный объект. В вашем первом скрипте предварительного запроса это будет выглядеть примерно так:
// window.{name of wrapper}
window.Utils = {
percentChange: function(val1, val2) {
return (((val1 - val2) / val2) * 100).toFixed(2) + '%';
}
};
Во всех тестах, которые запускаются после того, как вы можете вызвать эту функцию без необходимости ставить "окно" перед ней
Utils.percentChange(responseTime, newTime);
На самом деле мне не удалось заставить это работать, плюс это было неприемлемо для моего случая, потому что я хотел создать структуру, которая была бы определена только один раз и затем доступна в любом запросе.
Блоггер - извините, я не могу найти оригинальный пост в блоге - предложил подход, который я в конечном итоге успешно использовал. РЕДАКТИРОВАТЬ: Почти точное решение продемонстрировано в блоге (СОВЕТ № 5: код повторного использования) на официальном блоге Почтальон.
2.1 Создайте свой повторно используемый код и затем сохраните его как среду или глобальную переменную.
2.2 В вашем предварительном запросе или тестовом скрипте позвоните
eval
на переменную, которую вы определили в предыдущем шаге.
NB: Существует одна серьезная проблема с любым подходом - проблемы отладки или изменение сохраненного вами кода многократного использования. Я боролся с этим, когда мне нужно было определить, откуда исходит противоречивое поведение повторно используемого кода. В основном я часто использовал console.log.