t.me/atinfo_chat Telegram группа по автоматизации тестирования

Какие библиотеки и инструмент можно использовать вместе с Postman для автоматизации?


(Misha Polunin) #1

Здравствуйте, Выбрал инструмент Postman для API тестов. Задался вопросом реально ли в данной программе использовать подмену запросов как Charles? Какие библиотеки можно использовать для автоматизации? Какой инструмент можно совмещать с Postman?


(Vatslau) #2

Цель какая конечная? использовать постман как сниффер - зачем…


(Hikari Senshi) #3

Postman позволяет даже писать на нем тесты… А вообще зачем вам postman, если есть масса библиотек для работы с апи?


(Misha Polunin) #4

цель автоматизация проверки апи, по поводу сниффера просто интересовался


(Misha Polunin) #5

В проекте только внедряется автоматизация апи, решил пробовать с postman. На данный момент удобный инструмент. Но ресерчу в поисках другого инструмента, возможно есть более универсальный инструмент


(Vatslau) #6

что-то быстро затестить вполне норм
в режиме инвестигейта апи
сами тесты если нужно что-то больше проверок кодов или части ответов можно но копипаста экспетед
если много энвайрментов и нужно интеграционное тестирование везде типа монитора
тоже можно через переменные.
Короче хорошая штука в режиме дополнительного тула.

ПС сниффинг лучше делать снифферами - но если что прокси свой есть у постмана правда насчёт подмен такого вроде нет - просто перехват траффика из коробки.


(Ace ) #7

Я бы не рекомендовал Postman для автоматизации тестирования API. Да - он легок в освоении и в первичном создании тестов, ну и можно прикрутить к CI через newman. НО - практически нет переиспользования кода (т.е. тупиковый пусть копипасты ждет) и дальнейшая поддержка тестов выйдет дорогой.


(Misha Polunin) #8

Что посоветуете использовать вместо Postman?


(Fiodar Motin) #9

rest-assured


(Vatslau) #10

Зачем отговариваете человека. Это то же что сказать что курл не нужен.

Какие ещё варианты для проверки по быстрому любого запроса без подготовки ( командная строка или уи клиент типа постмана)

Захочет закодить - там экспорт во все языки сниппетов запросов.(для начала)


(Евгений) #11

(Misha Polunin) #12

Подскажите пожалуйста, возможно ли использовать python в postman. Python для написания тестов. Что можете посоветовать.


(Vatslau) #13

хз
проще всего

  • браузер/сниффер - копировать ответ как курл
  • курл в пайтон https://curl.trillworks.com/ (или в другие языки)

(Прокопук Дмитрий) #14

В принципе в рамках наличия на проекте манульных тестировщиков, postman как тула для автоматизации подойдет. Да есть куча минусов, но есть и плюсы:
Если у вас разработчики API документирует сервисы в рамках postman коллекций, то смело берите как язык js и например chai для ассертов, + куча дополнительных либ


(Misha Polunin) #15

Моя цель найти инструмент: который мне поможет проверять запросы и их содержимое в ответе.
Автоматизировать коллекцию запросов, и чтобы взаимодействовал с CI. Пока что пользуюсь постман и пытаюсь писать js скрипты - но как для начинающего мало что получается. На проекте я всего лишь один человек кто этим начинает заниматься. И четкого определения с инструментом у меня нет:(


(Vatslau) #16

https://curl.trillworks.com/
готовый сниппет в любом питон файле

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

пробуйте что получается - серебряной пули нету


(Valentin G ) #17

А на каком языке программирования у вас проект?


(Misha Polunin) #18

objective-c - для IOS
java - для Android


(Valentin G ) #19

Насчет первого ничего не могу сказать, но по поводу Java, могу порекомендовать framework - RestAssured. Я не буду говорить что он работает вместе с Postman, но с его помощью можно писать тесты, которые не сложно потом запускать через CI сервер. Если только postman, то можно попробовать Newman (docker), который тоже можно использовать через CI сервер.


(Olexander Davis) #20

Привіт. Те що ти вибрав Postman для тестування API - однозначно вірний варіант. Я можу дати тобі пораду, тому що я починав вивчення і автоматизацію API саме з встановлення і використання Postman, коли на проекті були готові тільки 5-10 ендпоінтів.

Зараз у мене на проекті вже більше 150 ендпоінтів з неймовірною купою різних параметризацій, що розширює коло тест кейсів в 4-5 раз. Коли постало питання автоматизації API(і я був як раз новачком в ті часи, я відразу вибрав newman, як найлегший і найшвидший шлях автоматизації вже готових написаних тест кейсів в Postman, що по факту просто один json файл з тестами і другий json файл з перемінними даних для DRY code і уможливлення автоматизації.
Потім, на етапі, коли наша API була не дуже стабільна, я пропихнув додавання цих тестів в TeamCity CI в pre-deployment ланцюг тестів, де ганяються unit тести розробників, і так вони там були, поки не стабілізувалася API і ми просто винесли ці тести в окремо крон джобу в CI і вони запускаютсья кожного ранку.

Newman - дуже легка бібліотека і самий кращий варіант для новачка, який має дуже початкові знання в коді.

Далі можна буде використовувати парочку з Mocha & Chai - що буде вже продвинутим і стабільним рішенням на любому рівні.
Зараз я всі тести пишу саме з Mocha, але ще й досі, я маю приблизно 120 ендпоінтів які тестуються за допомгою newman з різними варіаціями і сценаріями, працюють стабільно, тому я і не поспішаю переводити їх в Mocha. І хоча для такої кількості тестів не рекомендуються вже використання newman(в док. чітко вказано, що це для невеликої API, тому що підтримка буде складною), все залежить від проекту. Правильно написані тести будуть легко дебажитись і підтримуватися. на скріні проілюстрований мій репорт з тестів, які поки залишилися ще в Postman/Newman

Тому Recap:
Postman/Newman - ідеальний варіант для новачка, для знайомства з API взагалі, методором безпосередньої роботи з цим. Тестування різних сценаріїв.
Postman - швидке тестування тасок, коли FE частина ще не готова.
Postman - вже готові тест кейси для автоматизації.
Postman - функціональна swagger дока, потім ще девелопери будуть запитувати, щоб ти скинув їм колекцію з усіма ендпоінтами :slight_smile:
Newman - проста у використання бібліотека, яка автоматизує запуск всіх тестів одним рядком в терміналі.
Postman/Newman - неймовірно легке використання з CI and Docker.