↑↑↑

↓↓↓
Флаг России Флаг Великобритании
Баннер Недвижимость в Коста-дель-Соль
🏠 | 💻 PC | 🔨Тестирование ПО |

SOAP UI

Создание 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
Type in content that you definitely do not want to receive in the response
Contains Assertion изображение с сайта www.andreyolegovich.ru

🔝

Compliance, Status and Standards

SOAP Response

Choose SOAP Response. With this assertion you can check that the last received response is a valid SOAP Response. It is applicable only to SOAP TestRequest Steps only. Do not try to use it with REST.

Double click on the Assertion. It does not require any additional parameters and can be added to the test step only once.
SOAP Request assertion изображение с сайта www.andreyolegovich.ru

🔝

Compliance, Status and Standards

Valid HTTP Status Code

Choose Valid HTTP Status Code. With this assertion you can check that the last received response is a valid SOAP Response. It is applicable only to SOAP TestRequest Steps only. Do not try to use it with REST.

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

Usually it is 200 but you need to read system specification to be sure.

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

🔝

SLA → Response SLA

Choose Response SLA. With this assertion you can validate that the last received response time was within the defined limit. It is applicable to Script TestSteps And TestSteps that send requests and receive responses.

Response SLA assertion изображение с сайта www.andreyolegovich.ru
Specify the maximum response time (ms)

If response time is not mentioned in the spec add some reasonable time.

Specify the maximum response time assertion изображение с сайта www.andreyolegovich.ru

🔝

Property Content → XPath Match

Choose 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)

Type in the expected property value to the Expected Result field.

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

When, for example, we can not reach server and all our assertions are failed they will have red indicator.

SOAP UI failed assertions изображение с сайта www.andreyolegovich.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
Clumsy 0.2 Soap UI
Тестирование с помощью Python 🖄Postman
Nmap Webservices
Тестирование API Testlink
Pivotal Tracker 🦈 Wireshark
Вы нашли то, что искали на сайте?

ДА НЕТ

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

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

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

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

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

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