Автоматизация ваших API-тестов |
28.03.2019 00:00 |
Автор: Кристин Джеквони (Kristin Jackvony)/ Запуск коллекции тестов в Postman – это отличный способ быстро протестировать ваше API. Но еще более быстрым способом будет автоматический запуск! Чтобы автоматизировать ваши Postman-тесты, нужно разобраться, как запускать их из командной строки. Postman использует инструмент запуска командной строки Newman. Это модуль NodeJS, который легко установить через npm (Node Package Manager). Если у вас еще не установлен Node, это легко сделать через https://nodejs.org. Node содержит npm, поэтому после установки Node установить Newman очень легко. Просто откройте командную строку и наберите там следующее: npm install -g newman -g в этой команде сообщает npm, что Newman нужно установить глобально. Это позволит легко запускать Newman из командной строки вне зависимости от папки, в которой вы находитесь. Теперь, когда Newman установлен, давайте попробуем запустить коллекцию! Мы будем использовать коллекцию PetStore, которую мы создавали и корректировали ранее. Чтобы запустить Newman, вам нужно экспортировать вашу коллекцию как файлы .json. Найдите вашу коллекцию на левой панели Postman и нажмите на многоточие справа от нее. Выберите "Экспорт", затем выберите Collection v. 2.1 как вариант экспорта, и нажмите кнопку "Export". Вам предложат выбрать место для вашей коллекции – выбирайте то, которое вам больше нравится, но запомните его: оно понадобится вам для команды в Newman. Я экспортировала мою коллекцию на рабочий стол. Теперь нажмите на иконку шестеренки в верхнем правом углу экрана, чтобы открыть окно окружений. Рядом с окружением PetStore нужно нажать на стрелку вниз. Сохраните экспортированное окружение в то же место, куда вы сохраняли коллекцию. Теперь мы готовы дать команду Newman. В командной строке наберите следующее: newman run <pathToYourFile> -e <pathToYourEnvironment> Очевидно, вам нужно заменить <pathToYourFile> и <pathToYourEnvironment> на правильные пути. Так как я экспортировала свои json-файлы на рабочий стол, моя команда выглядит так: newman run "Desktop/Pet Store.postman_collection.json" -e "Desktop/Pet Store.postman_environment.json" -e в этой команде определяет, какое окружение нужно использовать с этой коллекцией. Альтернативный способ указать на json-файлы – это перейти в их местоположение через команду cd. Если бы я запустила cd Desktop, моя команда выглядела бы так: newman run "Pet Store.postman_collection.json" -e "PetStore.postman_environment.json" Обратите внимание, что кавычки не нужны, если в названии вашего файла нет пробелов. Если бы я переименовала мои файлы так, что между Pet и Store не было бы пробела, я могла бы запустить коллекцию так: newman run PetStore.postman_collection.json -e PetStore.postman_environment.json После того, как вы экспортировали свои json-файлы, их можно называть как угодно. Если вы правильно обратились к ним в команде Newman, они запустятся. Вызывая Newman, вы увидите, как ваши тесты прогоняются в командной строке, и в результате получите небольшую табличку, демонстрирующую результаты: Если вы запускаете тесты в тест-окружении вашей компании, то можете столкнуться с тем, что Newman сообщает об ошибке безопасности. Это может быть связано с тем, что у вашего окружения самостоятельно подписанный сертификат. Newman по умолчанию имеет очень строгий SSL и ищет валидный SSL-сертификат. Вы можете изменить эту настройку, отправив команду с опцией –k, вот так: newman run "Desktop/Pet Store.postman_collection.json" -e "Desktop/Pet Store.postman_environment.json" –k Другая полезная опция – это –n. Она указывает на количество прогонов, заданное для ваших тестов. Хотите нагрузить приложение? Нет проблем: newman run "Desktop/Pet Store.postman_collection.json" -e "Desktop/Pet Store.postman_environment.json" -n 1000 Такая команда прогонит ваши тесты тысячу раз. В таблице результатов вы увидите среднее время отклика на ваши запросы. Это, конечно, не полноценный нагрузочный тест, так как запросы прогоняются по одному, но это даст вам представление о типичном времени отклика. Когда ваши команды в Newman заработают, вы можете запускать их через планировщик задач, или как скрипт Powershell, или интегрировать их в инструмент непрерывной интеграции – например, в Jenkins, TravisCI, Docker. Модуль для отчета о результатах Newman есть и для TeamCity. Какой бы инструмент вы ни выбрали, у вас будет возможность автоматически запускать ваши API-тесты Postman! |