Netrebko
Finn Flare GeekBrains
Mebelaero
velodrive.ru
Туры в Таиланд со скидкой - 160*600
Подружка carvilleshop
Tui Aviasales
Printio_ru
240*400 Автобусы
Tui Ингосстрах [CPS] RU
↑↑

↓↓
Флаг России Флаг Англии
🏠 | 💻 PC | 🔨Тестирование ПО |

SOAP UI

Содержание статьи
Skyeng Создание Test Suit в SOAP UI Assertions в SOAP UI
XPath Match Assertion Mock Service с помощью SOAP UI
Установка SOAP UI в Linux
SOAP UI изображение с сайта www.andreyolegovich.ru

SoapUI - это приложение для тестирования веб-сервисов с открытым исходным кодом для сервисно-ориентированных архитектур (SOA) и передач состояния представления (REST).

Разработчик - Eviware Software

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

Коммерческая версия SoapUI Pro, которая в основном фокусируется на функциях, предназначенных для повышения производительности, также была разработана Eviware Software. В 2011 году SmartBear Software приобрела Eviware.

SoapUI был первоначально выпущен в SourceForge в сентябре 2005 года. Это бесплатное программное обеспечение, лицензированное в соответствии с публичной лицензией Европейского Союза.

Начиная с первого релиза, SoapUI был загружен более 2 000 000 раз. Он полностью построен на платформе Java и использует Swing для пользовательского интерфейса. Это означает, что SoapUI является кросс-платформенным. Сегодня SoapUI также поддерживает IDEA, Eclipse и NetBeans.

SoapUI может тестировать веб-службы SOAP и REST, JMS, AMF, а также совершать любые вызовы HTTP(S) и JDBC.

Ссылку на скачивание SOAP UI можно найти здесь





Как отправлять запросы

New REST Project → Пишем URI → Запрос создаётся, можно добавлять новые.

Method можно выбирать из выпадающего списка. Проект имеет иерархическую структуру.

Project → Service → Resource → Method → Request

Названия отражают суть:

Request (запрос) это то место, где можно поменять тело запроса и просмотреть ответ сервера. Чтобы отправлять запросы нужно нажимать зелёный треугольник.

Method (метод) указывает GET, POST, PUT или другой метод, который Вы будете использовать. Все дочерние запросы будут иметь один и тот же Method.

Resourse (ресурс) отвечает за ту часть URL, которая добавляется к базовой.

Service (сервис) отвечает за базовую часть URL





Как сохранять проекты

Советую помимо использования «Save all projects» закрывать все новые окна вручную. Тогда SOAP UI предложит Вам сохранить каждый проект по отдельности. После того, как все новые проекты сохранены, Вы можете закрыть SOAP UI. Я стараюсь закрывать SOAP UI только когда все окна закрыты.





Создание Test Suit in SOAP UI

Коротко:

→Правый клик Project → Create New TestSuit (CTRL + T) → Укажите имя для TestSuit → Правый клик на TestSuit → New TestCase (CTRL + N) → Укажите имя для TestCase → Expand Test Case → Кликните на Test Steps → Add Step → Выберите request (e.g. SOAP Request) → Укажите имя для new step → Выберите операцию, которая запускает request → Добавьте Request в TestCase (OK)
Зелёная «+» иконка плюса появится наверху. Кликнув на неё Вы можете добавить Assertions.





Подробно:

SOAP UI New Test Suite Правый клик Project изображение с сайта www.andreyolegovich.ru
Правый клик на названии проекта





Create New TestSuit (CTRL + T)

Specify name of TestSuiteизображение с сайта www.andreyolegovich.ru
Укажите имя для TestSuit




→ Правый клик на TestSuit

New TestCase изображение с сайта www.andreyolegovich.ru
New TestCase (CTRL + N)



Specify name of TestCase изображение с сайта www.andreyolegovich.ru
Укажите имя для TestCase

→ Expand Test Case

→ Кликните на Test Steps

→ Add Step

→ Выберите request (e.g. SOAP Request)

→ Укажите имя для new step

→ Выберите операцию, которая запускает request

→ Добавьте Request в TestCase (OK)


Зелёная «+» иконка плюса появится наверху. Кликнув на неё Вы можете добавить Assertions.





Assertions в SOAP UI

Assertions добавляются в TestSuits поэтому, чтобы добавлять Assertions нужно создать хотя бы один TestSuit и затем кликнуть на зелёную+ иконку.

SOAP UI assertion types изображение с сайта www.andreyolegovich.ru

Затем Вы можете выбрать однин из многих доступных в SOAP UI типов assertion.

SOAP UI assertion typesизображение с сайта www.andreyolegovich.ru

Property Content → Contains

ВыберитеContains. С помощью этого подтверждения (assertion) можно искать присутствует ли в ответе заранее определённое ключевое слово. Оно поддерживает регулярные выражения и применимо ко всем ответам.

Specify unique name of Assertion
SOAP UI assertion types изображение с сайта www.andreyolegovich.ru
Type in content that you expect to receive in case of successfull request
Contains Assertion изображение с сайта www.andreyolegovich.ru




Property Content → Not Contains

Выберите Not Contains. С помощью этого подтверждения (assertion) можно проверить отсутствие в ответе заранее определённого ключевого слова. Оно поддерживает регулярные выражения и применимо ко всем ответам.

Введите уникальное имя для Assertion
SOAP UI assertion types изображение с сайта www.andreyolegovich.ru
Введите сюда то, что Вы точно не хотите видеть в теле ответа
Contains Assertion изображение с сайта www.andreyolegovich.ru



Compliance, Status и Standards

SOAP Response

Выберите SOAP Response. В этим assertion Вы можете проверить что последний полученные ответ является валидным SOAP ответом. Это можно применять только к SOAP TestRequest Steps. Не пытайтесь применять этот assertion к REST запросам.

Двойной клик на Assertion. Никакие дополнительные параметры не нужны этот шаг можно добавить только один раз.
SOAP Request assertion изображение с сайта www.andreyolegovich.ru



Compliance, Status и Standards

Valid HTTP Status Code

Выберите Valid HTTP Status Code. С помощью этого assertion Вы можете проверить является ли последний полученный ответ (Response) валидным SOAP ответом (Response).

Как Вы уже, наверное, догадались, этот assertion применим только к SOAP TestRequest Steps. Не пытайтесь использовать его для REST запросов.

Valid HTTP Status Code assertion изображение с сайта www.andreyolegovich.ru
Type in the HTTP Status Codes that are appropriate for your request.

Обычно это 200, но всё же стоит прочитать спецификацию системы, которую Вы тестируете..

Valid HTTP Status Code assertion изображение с сайта www.andreyolegovich.ru







SLA → Response SLA

Выберите Response SLA. С помощью этого assertion Вы можете подтвердить, что последний полученный ответ (Response) был получен в течении определенного времени.

Можно применять к Script TestSteps и TestSteps которые посылают запросы и получают ответы.

Response SLA assertion изображение с сайта www.andreyolegovich.ru
Укажите максимальное время ответа (мс)

Если время в которое нужно уложиться не указано в спецификации - поставьте какое-то разумное время.

Укажите максимальное время ответа soap ui response assertion изображение с сайта www.andreyolegovich.ru




Property Content → XPath Match

Выберите XPath Match. This Assertion uses an XPath expression to select content from the target property and compares the result to an expected value. Applicable to any property containing XML.

Click Declare

To verify that the property is present in the response type in exists (//property_name)

Type in true to the Expected Result field.

Specify XPath expression and expected result изображение с сайта www.andreyolegovich.ru

To validate property's value put path to the propery (full path or property's name - both options are acceptable)

Введите значение величины, которое Вы ожидаете получаить в поле Expected Result.

Specify XPath expression and expected result изображение с сайта www.andreyolegovich.ru

В случае, если, например, мы не можем соединиться с сервером и все наши assertions зафейлились у них появятся красные индикаторы.

SOAP UI failed assertions изображение с сайта www.andreyolegovich.ru



Сервис-имитация

Сделаем сервис, который будет посылать нам сообщения в ответ на определённый тип запроса на определённый EndPoint

Для примера я выбрал сервис для сайта о велосипедах TopBicycle.ru заходите на этот сайт если любите велосипеды.

File → Create Empty Project
SOAP UI Create Empty Project изображение с сайта www.andreyolegovich.ru

Введите имя проекта
SOAP UI Enter Project Name изображение с сайта www.andreyolegovich.ru

New Rest Mock Service
SOAP UI New Rest Mock Service изображение с сайта www.andreyolegovich.ru

Укажите имя MockService
SOAP UI Specify name of MockService изображение с сайта www.andreyolegovich.ru
Add new mock action
SOAP UI Add new mock action изображение с сайта www.andreyolegovich.ru

Введите путь и выберите метод GET
SOAP UI Enter Resource path изображение с сайта www.andreyolegovich.ru
New MockResponse
SOAP UI New MockResponse изображение с сайта www.andreyolegovich.ru

Введите имя нового ответа
SOAP UI Enter name of new MockResponse изображение с сайта www.andreyolegovich.ru

Скопируйте json и вставьте в тело ответа

{
    "bicycles":{
          "bicycle": [{
          "id":1,
          "name": " Helkama ",
          "country": " Finland "
    }, {
          "id":2,
          "name": " Stels ",
          "country": "Russia"
    },{
          "id":3,
          "name": " Tunturi ",
          "country": " Finland "
       }]
    }
}

Замените Content | Media type на application/json. Http Status Code должен быть 200 – OK. Headers введите по желанию. Их можно добавить нажав на зелёный плюс +

SOAP UI Copy the json below and paste it to the Response body изображение с сайта www.andreyolegovich.ru

Правой кнопкой мыши кликните на BicycleService и

Add new mock action

Назовите его «bicycle/1»

Правой кнопкой мыши кликните на «bicycle/1» (или кликните Ctrl + N) и

create New MockResponse

назовите его «singleBicycle»

Скопируйте json и вставьте в тело ответа

{
          "bicycle": {
          "id":1,
          "name": "Helkama ",
          "country": "Finland "
       }
}
SOAP UI new mock response изображение с сайта www.andreyolegovich.ru

Создайте новый mock action, имя оставьте старое «/bicycle» а тип измените на POST вместо GET.

Создайте новый MockResponse и назовите его «addBicycle»

Скопируйте json и вставьте в тело ответа

{ "key":12041961 }
SOAP UI изображение с сайта www.andreyolegovich.ru

Создайте новый mock action типа GET и назовите его «/incorrectep» а новый MockResponse «400» Измените Http Status Code на 400 – Bad Request
SOAP UI Http Status Code 400 - Bad Request изображение с сайта www.andreyolegovich.ru

Обратите внимание, что сервис BicycleService использует порт 8080

SOAP UI Http Status Code 400 - Bad Request изображение с сайта www.andreyolegovich.ru

Запустите BicycleService нажав на зелёный треугольник

SOAP UI start REST Mock service изображение с сайта www.andreyolegovich.ru

У нас есть четыре сценария

Используем Postman чтобы протестировать их
POST на http://localhost:8080/bicycle

Должен вернуть key 12041961

SOAP UI изображение с сайта www.andreyolegovich.ru

GET на http://localhost:8080/bicycle

Должен вернуть список велосипедов

SOAP UI изображение с сайта www.andreyolegovich.ru

GET на http://localhost:8080/bicycle/1

Должен вернуть первый велосипед

SOAP UI изображение с сайта www.andreyolegovich.ru

GET на http://localhost:8080/incorrectep

Должен вернуть пустой ответ и Http Status 400 Bad Request

SOAP UI изображение с сайта www.andreyolegovich.ru




Dynamic Response

Чтобы заменить статичный ответ 12041961 на динамический в запросе POST на /bicycle заменим 12041996 на ${variable} и в script добавим следующий код:

context.setProperty("variable" ,Math.random()*100000000000000000)
SOAP UI script изображение с сайта www.andreyolegovich.ru

Чтобы протестировать отправим несколько запросов из Postman и проверим изменяется ли ответ

Postman request изображение с сайта www.andreyolegovich.ru

Нужен ли SOAP UI?

Ответ на этот вопрос зависит от уровня Вашей подготовки, предпочтений и, в каком-то смысле, идеологии.

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

Тестировщик с опытом программирования, например, на Python может написать все необходимые скрипты самостоятельно.

Идеологическим приверженцам работы из консоли или только из Linux тоже может показаться что в SOAP UI слишком много UI.





Установка SOAP UI в Linux

Обратите внимание на необходимость предварительной установки Java (JRE).

Как установить Java читайте здесь

Существует официальная инструкция, но если хотите сэкономить время и нервы…

Переходим на страницу загрузки.

Скачиваем установщик. Копируем в нужную директорию, например, в /opt. Распаковываем.

tar -zxvf SoapUI-5.4.0-linux-bin.tar.gz

Переходим в директорию SoapUI-5.4.0/bin

sh soapui.sh
Skyeng Clumsy 0.2 Soap UI
Курсы тестирования ПО
Тестирование с помощью Python 🖄Postman
Nmap Webservices
Тестирование API Testlink
Pivotal Tracker 🦈 Wireshark































Вы нашли то, что искали на сайте?







Или оцените по десятибальной шкале

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

Например: у нас есть статья про аэропорт Хельсинки и про аэропорт Риги но в выдаче по Риге всё равно статья про Хельсинки.

Если статья Вам помогла, нажимайте ДА. Так мы поймём, что переделывать её не нужно.

Занятно наблюдать в вебвизоре, как люди копируют текст, например вежливого отказа в трудоустройстве на английском но игнорируют кнопку ДА.

Сделаем поиск лучше!
Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети:








Braun RU







Finn Flare