Можно ли повторно использовать сценарии Postman в различных тестовых случаях Api?

В нашем проекте есть ситуация, когда нам нужно получить доступ к одним и тем же методам в разных тестовых случаях Api. В настоящее время мы скопировали и вставили все эти методы в каждый тестовый файл Api. Можно ли сделать эти методы единым методом и получить к нему доступ?

Можно хранить эти методы в Глобальной переменной. Он будет хорошо работать в Postman, но не работает при запуске в Newman.

1 ответ

Есть два способа сделать это - оба они "хакерские", и я имею в виду, что они являются побочным продуктом того, что Почтальон позволяет вам делать для других целей.

  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);

На самом деле мне не удалось заставить это работать, плюс это было неприемлемо для моего случая, потому что я хотел создать структуру, которая была бы определена только один раз и затем доступна в любом запросе.

  1. Блоггер - извините, я не могу найти оригинальный пост в блоге - предложил подход, который я в конечном итоге успешно использовал. РЕДАКТИРОВАТЬ: Почти точное решение продемонстрировано в блоге (СОВЕТ № 5: код повторного использования) на официальном блоге Почтальон.

    2.1 Создайте свой повторно используемый код и затем сохраните его как среду или глобальную переменную.

    2.2 В вашем предварительном запросе или тестовом скрипте позвоните eval на переменную, которую вы определили в предыдущем шаге.

NB: Существует одна серьезная проблема с любым подходом - проблемы отладки или изменение сохраненного вами кода многократного использования. Я боролся с этим, когда мне нужно было определить, откуда исходит противоречивое поведение повторно используемого кода. В основном я часто использовал console.log.

Другие вопросы по тегам