БЕСПЛАТНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

SoapUI. Тестирование API.

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

main

В процессе инсталляции предлагается выбрать компоненты, которые будут установлены

components

Если вы установили флажок "Tutorials", то также будет предложено выбрать папку в которой будут размещаться учебные примеры.

tutorials

При открытии программы сразу же предлагается создать REST API.

Open-rest

Не скажу, что интерфейс SoapUI является сильно дружественным. Он подразумевает достаточно жесткую иерархию. То есть не получиться создать свою собственную иерархию каталогов в которые положить необходимые api. Нет, здесь все начинается с проекта, далее host, потом endpoint, а внутри ендпоинта уже идут запросы с разбивкой по методам (GET, POST и т.д.) Давайте посмотрим на примерах как создавать REST и SOAP API.

REST API

Допустим, что у нас есть на локальной машине API вот с таким URL http://localhost:8080/hello. Метод отправки запроса - GET. Проще всего создать эту API в SoapUI, нажав на кнопку Creates a new REST projects и в открывшемся окне ввести нужную API

new rest project

После нажатия на кнопку ОК будет создан новый проект, в котором будет host, endpoint и GET запрос. Далее в созданную структуру можно добавлять новые ендпоинты и запросы.

created rest

Можно также создать проект с помощью импорта файла WADL (Web Application Description Language), пример которого есть в Tutorials, если вы его отмечали при установке. Но для REST API у вас скорее всего не будет такого файла в наличии.

SOAP API

В отличие от REST, SOAP проект удобно как раз таки создавать через импорт WSDL (Web Services Description Language). Чаще всего WSDL будет поставляться в виде URL-ссылки, которая заканчивается на ?WSDL. Но в нашем примере мы воспользуемся файлом из Tutorials:

new soap

В результате импорта получаем готовые к выполнению soap запросы:

created soap

Не весь функционал SoapUI является бесплатным, но в большинстве случаев хватает вышеописанных возможностей.