Возможно, кто-то уже сталкивался с автоматизацией тестирования web сервисов, API и сможет подсказать/рассказать как это лучше настроить и сделать. Если есть что-то другое, лучше и удобней, чем SOAP UI для данной цели, то просьба так же поделиться своим опытом и знаниями. К сожалению, на данный момент у меня нет опыта в подобном тестировании.
Что нужно: простота в использовании тулы, настройке и поддержке. Визуализация процесса прогона тестов не нужна, нужны быстродействие и стабильность. Веб-сервис, который нужно автоматизировать: product web API. Бек-энд написан на C#. Веб морда данного API сделана с использованием swagger. Запросы: GET, POST. Что хотелось бы автоматизировать для начала: отправка параметризированных GET/POST запросов, получение ответа и проверка всё ли данные на месте, корректны ли они. Более детально как использую данный API для получения данных (мануально):
в одно поле ввожу уникальное id, во второе поле - уникальный language и нажимаю кнопку получить данные
данные приходят в формате application/json - в саму веб морду (или application/xml - если request url отдельно загружаешь в браузерную строку), которые анализируешь и проверяешь всё ли корректно. Немного в картинках:
SoapUI для тестирования REST это мне кажется перебор. Он не очень то удобен в этом плане и к тому же большинство вкусных фич в платной версии. Гораздо проще заюзать любой Unit тест фреймворк + любую REST либу.
Т.е. я смогу без лишних усилий и определенных знаний (немного .Net знаю) сделать стабильные и быстрые тесты для API? И еще вопрос: допустим, мне нужно будет прогонять тесты для разных web API с использованием разных входных данных в запросе, это так же будет осуществимо с помощью данного фреймворка?
Знание языка все равно нужно. Это в любом случае.
По-поводу параметризированных тестов - это тоже очень хороший вариант.
Я бы параметризировал по передаваемым параметрам, т.к. их может быть много, а вот эндпоинтов нет…
И все-равно нужно все оборачивать.
В самом же RestSharp вобще дают совет возвращать C# объекты. И потом их использовать для проверок.
Я использую такой же принцип, только на джава и с http://rest-assured.io/.
Делаю запрос, получаю ответ, парсю в джава объект и потом уже проверяю.
Как то так.
возможно postman так же подойдет.
Очень простой инструмент, в нем есть переменные, так что можно параметризовать запросы.
Запросы объединяются в коллекции, которые можно прогонять с помощью newman.
При прогоне коллекций можно даже создавать junit отчеты.
Из проблем - невозможность работы с БД, то есть сходить в базу и убедится, что сервис отработал правильно с помощью postman нельзя.
Спасибо, @dshy
Я только начинаю в нем разбираться, с переменными, коллекциями. Если будут проблемы по конкретному моменту, я могу уточнить, написав вам?