Что за программа soapui

Всем привет! Меня зовут Александра Кабехова, я — QA Team Lead в компании «Ренессанс страхование». В этой статье хочу поделиться опытом тестирование SOAP- запросов через SOAP UI Open Source. Когда я погружалась в тестирование API, то у меня практически не было никакого опыта, пришлось самостоятельно нарабатывать базу знаний и лайфхаков, собственно про некоторые из них и хочу рассказать.

Коротко про API

Начнем знакомство с расшифровки аббревиатуры API (англ. application programming interface, либо программный интерфейс приложения, интерфейс прикладного программирования) набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах (Wikipedia). То есть API даёт возможность использовать чужие наработки в своих интересах. Есть два подхода к построению программного интерфейса веб-приложений: REST (RESTful) API и SOAP API. Но не будем углубляться в нюансы, ибо литературы в свободном доступе на эту тему большое множество.

1. Назначение программы SOAP UI.

Осознание и принятие ситуации

Если жизненная ситуация сложилась таким образом, что Вы оказалась без малейшего опыта на проекте по API, то не отчаивайтесь, потому что всему можно научиться. Первым делом узнайте какая есть документация на проекте, есть ли пример запросов, может кто-то из коллег уже создавал проекты и сохранил их. А вторым пунктом установите SoapUI и приступайте к работе!

Сначала необходимо импортировать проект, если есть в наличии, либо создать его на основе WSDL:
1. создаем новый проект file→ New soapUI Project. Указываем Project Name и Initial WSDL/WADL.

2. Импортировать проект file→Import Project. Выбираем необходимый файл в формате xml. Обратите внимание: проставили галочку на создание TestSuite!

3. Теперь вы можете использовать в работе созданные TestSuite, либо создать свой и скомпоновать методы. На указанном примере получился один TestSuite и три TestCase.
Обратите внимание, что у каждого TestCase присутствует TestStep.

4. И так, предположим, что «Step1» — метод для получения номера телефона Страхователя(клиента), «Step2»- метод для передачи данных по заявлениям выплаты, «Step3» — метод для передачи данных по совершенным выплатам. Все три метода взаимосвязаны, данные ответа одного метода влияют на другие. Следующем шагом я объединю все TestStep в один TestCase.

5. Обратите внимание, что TestCase: «Step2» и «Step3» я перевела в disabled, в дальнейшей работе они нам не понадобятся, поэтому их можно будет удалить.

SOAPUI. Урок 0. Что такое SOAP и что в нем тестировать

6. Довольно часто встречаются ситуации, когда одни и те же параметры используются в нескольких методах, если возникнет необходимость в их редактировании, то придется заходить в каждый метод и править. Для удобства работы выведем все переменные в Properties в TesCase «All_steps». Советую, чтоб названия переменных совпадали с параметрами в методах. Например, в «Step 1» используется «MessageId», добавляю его в Properties.

7. Не забываем указывать значения по переменным. Далее устанавливаем связь, например, «Step 1» нажимаем правой клавишей мыши на «MessageId», отобразится меню, выбираем Get Data, затем выбираем на какую переменную в Properties ссылаться.

В итоге получилось:

8. Если возникнет необходимость передавать значения между методами, то вы так же можете сохранить его в Properties, а затем ссылаться на него, либо использовать Transfer. Например, возникла необходимость передать параметр PolicyNumber из «Step1» в «Step2».
Добавляем Transfer в TestCase. Настроить transfer легко, но советую ознакомиться с инструкцией с официального сайта.

Читайте также:
Cisco что это за программа в компьютере для чего нужна

9. Если в методах используются даты, то вам не обойтись никак без скриптов. В SOAP UI используется groovy, популярные скрипты всегда можно подсмотреть на официальном сайте, либо на любительских. Например, в моем примере в методах присутствуют параметры ClaimDate и PaymentDate, чтобы вручную постоянно не править даты, использую скрипт:
Date ClaimDate = new Date()
testCase.setPropertyValue(«ClaimDate», ClaimDate.format(«yyyy-MM-dd’T’hh:mm:ss»))
Date PaymentDate= new Date();
testCase.setPropertyValue(«PaymentDate», PaymentDate.format(«yyyy-MM-dd’T’hh:mm:ss»))

Скрипт указываем в TestCase в SetupScript, затем нажимаем на Runs this script, скрипт отрабатывает и значения по ClaimDate и PaymentDate, прописываются в Properties.

10. В TestSuite можете создать любое количество TestCase разными входными значениями. Таким образом, у вас будет небольшой проект с различными проверками. Так же вы можете на ответы сервиса настроить Assertion в TestStep, например, что сервис всегда возвращает статус true/false.

11. Если у вас развернут Jenkins и на ноде установлен Soap UI, то можно запускать ваш проект удаленно по расписанию. Расскажу, как выстроен этот процесс в нашей компании. Для начала загружаю проект, созданный в Soap UI и сохраненный в формате .xml, в систему контроля версий, а именно в Gitlab. Затем в Jenkins создаю мультиконфигурационный проект, в его настройках «Управление исходным кодом » указываем путь к проекту в Gilab.

В «Триггерах сборки» в пункте «Запуск периодически» вводим расписание, например, H 20 * * 1-7 , то есть запускаем после 20:00 каждый день. В «Сборке» добавляем шаг «Выполнить команду Windows» указываем:
C:ToolsSoapUI-5.4.0bintestrunner.bat -j -f C:JenkinsworkspaceTestHabrProject_for_soapReport -I Project_for_soap_TestHabr.xml
SoapUI-5.4.0 — наименование программы;
C:JenkinsworkspaceTestHabrProject_for_soapReport — путь к мультиконфигурационному проекту в Jenkins;
Project_for_soap_TestHabr.xml — название проекте в Gitlab.

В «Послесборочных операций» можете добавить шаги «Publish JUnit test result report», «Заархивировать артефакты», «Уведомление по почте».

Далее сохраняем и можем пользоваться! Результат прогона должен прийти на указанною почту.

Всё хорошее когда-нибудь заканчивается

Я рассказала про самый минимум, с которого следует начать при освоении Soap UI. С приобретением опыта вы будете узнавать и другие возможности/функции программы.
Для расширения кругозора советую ознакомиться с кратким руководством и с книгой «Web Services Testing with soapUI» by Charitha Kankanamge, «SoapUI Cookbook» by Aly Saleh , Murat Karslioglu.

  • Блог компании «Ренессанс страхование»
  • Тестирование IT-систем
  • API
  • Тестирование веб-сервисов

Источник: habr.com

Что такое SoapUI? — Как это работает? Карьера и функциональное тестирование — преимущества

В этом руководстве мы узнаем о SoapUI и о SoapUI, который широко используется во всем мире. Но прежде чем перейти к этой теме, у меня к вам вопрос. У вас есть знания по этой теме? Прежде чем перейти к теме, сначала мы должны прочитать о тестировании, где это будет полезно. Знаете ли вы, что такое тестирование? ее мы узнаем много вещей и особенно то, что тестирование и его несколько аспектов /

тестирование

Тестирование — это процесс расследования, с помощью которого мы узнаем, работает ли наша программа, услуга или продукт или нет. Другими словами, тестирование — это этап разработки программного обеспечения или системы, на котором мы получили отчет об эффективности и функциональности нашего продукта и системы.

Имеет 2 типа —

  1. Ручное тестирование
  2. Автоматизация тестирования

Теперь, возвращаясь к нашей теме:

Определение —

SoapUI — это кроссплатформенный инструмент, используемый для функционального и нефункционального тестирования, и в основном используемый для тестирования веб-сервисов. Другими словами, мы можем сказать, что это инструмент с открытым исходным кодом, который широко используется в тестировании веб-сервисов. Обычно используется для тестирования веб-сервисов и веб-API.

Понимание SaopUI —

SoapUI — это приложение для тестирования веб-сервисов с открытым исходным кодом для сервис-ориентированных архитектур, а также для передачи состояний представлений. Это означает, что SoapUI является кроссплатформенным.

SOAP — это слово, используемое для протокола доступа к простым объектам. Это было определено Консорциумом World Wide Web (W3C). Это протокол на основе XML, используемый для обмена информацией в децентрализованной и распределенной среде.

Читайте также:
Программа сименс что это такое

Преимущества SoapUI —

  • Он имеет дружественный графический интерфейс.
  • Он обеспечивает передачу данных для веб-сервисов.
  • Он также используется как трансляция сообщений.
  • Это слишком просто для функционального тестирования
  • Это обе платформы, а также не зависит от языка.
  • Это протокол, который специально разработан для общения с помощью Интернета.
  • Он выполняет роль как клиента, так и сервиса.
  • Это удобно для пользователя, а также легко превратить функциональный тест в нефункциональный тест.

Структура сообщения мыла —

Некоторые протоколы и технологии —

SOAP — обозначает — Простой протокол доступа к объектам

WSDL — Обозначает — Язык определения веб-службы REST — Обозначает — Передача состояния представления

HTTP — обозначает — протокол передачи гипертекста

HTTPS — обозначает — протокол передачи гипертекста защищен

AMF — Стенды для — Действие Формат сообщения

JDBC — Стенды для — Соединение базы данных Java

JMS — обозначает — Служба сообщений Java

SoapUI — Установка и настройка

SOAP UI

Изображение баннера

В этой статье Вы узнаете о том что такое SOAP UI и увидите некоторые примеры использования.

Если Вам проще изучать материал от самого простого к более сложному — рекомендую сперва прочитать первые несколько страниц моего учебника здесь

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

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

Язык программирования, на котором пишут скрипты в SOAP UI, называется Groovy .

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

Коммерческая версия 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 можно найти здесь

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

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

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

New TestCase изображение с сайта www.andreyolegovich.ru Specify name of TestCase изображение с сайта www.andreyolegovich.ru

→ Expand Test Case

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

Читайте также:
Appwizard что это за программа и нужна

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

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

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

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

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

Assertions в SOAP UI

Assertions добавляются в TestSuit

Поэтому, чтобы добавлять 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. Этот Assertion использует выражение типа XPath чтобы выбрать содержимое указанного объекта и сравнить результат с ожидаемым значением.

Может быть применён к любому объекту, который содержит XML.

Чтобы подтвердить что нужные данные присутствуют в ответе напишите exists (//данные_которые_должны_придти)

В поле Expected Result напишите true.

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

Чтобы проверить не наличие как таковое, а значение какой-то величины введите в XPath Expression либо полный путь до величины либо её имя.

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

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

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

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

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

О том как создать сервис-имитацию (mock-service) вы можете прочитать в статье Mock Service

Нужен ли 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

Источник: www.andreyolegovich.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru