Как создать набор тестов и тестовые сценарии в SoapUI
⚡ Умное резюме
Создание SoapUI Проект, набор тестов и тестовые примеры позволяют проводить структурированное тестирование веб-сервисов SOAP. В этом пошаговом руководстве объясняются основы протокола SOAP, импорт WSDL, выполнение запросов, настройка утверждений и анализ журналов ответов для надежного функционального и регрессионного тестирования.
Понимание протокола SOAP
Перед созданием SoapUI Тестовый пример помогает вспомнить основы протокола SOAP. Четкое понимание того, как запросы и ответы SOAP передаются между системами, упрощает его использование. SoapUI для их эффективного тестирования.
SOAP означает Простой протокол доступа к объектамНиже приведены основные свойства протокола SOAP:
- Это протокол на основе XML, используемый для связи между двумя различными системами.
- Система не зависит от платформы и языка программирования. Разработана с использованием... Java может взаимодействовать с устройством, разработанным на платформе .NET.
- Запросы и ответы SOAP передаются по протоколу HTTP.
Изучите формат сообщений SOAP.
SOAP-сообщение — это обычный XML-документ, содержащий следующие элементы. Сообщение может быть либо запросом, либо ответом.

После того, как основные принципы SOAP освоены, следующим шагом является создание SoapUI Структура проекта, наборы тестов и тестовые примеры, необходимые для проверки конкретного веб-сервиса. Приведенное ниже пошаговое руководство использует SoapUI Пример проекта для создания нового SOAP-проекта.
Создание SOAP-проекта в SoapUI
В проекте SOAP хранится импортированное определение WSDL, а также все сгенерированные примеры запросов для каждой операции.
Шаг 1: В зависимости от типа проекта импортируйте протокол SOAP или REST. В этом примере создайте новый проект SOAP.
Шаг 2: Используйте следующий SOAP-запрос. URL: http://www.dneonline.com/calculator.asmx?wsdl
- Введите название проекта.
- Введите путь к WSDL-запросу (в данном случае, http://www.dneonline.com/calculator.asmx?wsdl).
- Нажмите OK.
Примечание:
- Создайте пример запроса для всех операций: Генерирует пример запроса для каждой операции в WSDL. Включено по умолчанию при вводе адреса WSDL; можно отключить, если не требуется.
- Создайте набор тестов для импортированного WSDL: Добавляет SoapUI В рамках проекта создан набор тестов для импортированного WSDL-файла.
- Относительные пути: Сохраняет все файлы относительно файла проекта для удобства переноса.
Шаг 3: После создания SOAP-проекта с использованием указанного выше WSDL-файла в проект будут импортированы две операции.
Шаг 4: Разверните первый запрос, щелкните правой кнопкой мыши. Добавить, затем нажмите Новый запрос.
Затем нажмите OKSOAP-запрос отображается в формате XML.
- Введите значения для intA и intB.
- Нажмите Отправить .
- XML-ответ отображается в правой боковой панели.
Почему нужно создавать тестовые примеры вместо прямых запросов?
Можно отправить запрос на выполнение одной операции напрямую, но такой подход быстро достигает пределов, когда необходимо протестировать несколько комбинаций входных данных. Например, переключение с 5+5 на 4+4 требует каждый раз редактирования запроса. Набор тестов с тестовыми примерами позволяет обеспечить повторное использование каждого сценария без изменения исходной операции.
Как создать набор тестов в SoapUI
Набор тестов — это контейнер, объединяющий связанные тестовые случаи. Для его создания выполните следующие шаги.
Шаг 1) Щелкните правой кнопкой мыши по корневому каталогу проекта.
В рамках проекта создайте набор тестов, щелкнув правой кнопкой мыши по корневому каталогу проекта.
Шаг 2) Введите данные тестового набора.
Введите название набора тестов и нажмите OK.
Шаг 3) Проверьте созданный набор тестов.
Новый набор тестов отображается в панели навигатора, как показано ниже.
Шаг 4) Откройте набор тестов.
Окно «Набор тестов» открывается в правой панели. Поскольку тестовых случаев пока нет, все параметры действий остаются отключенными.
Как создать тестовый случай в SoapUI
Тестовые случаи находятся внутри набора тестов и объединяют отдельные шаги тестирования, проверяющие работу веб-сервиса.
Шаг 1: В рамках набора тестов можно создать несколько тестов, щелкнув правой кнопкой мыши по набору тестов и выбрав соответствующий пункт. Новый тестовый пример.
Шаг 2: Укажите название Тестовый кейс и нажмите OK.
Шаг 3: Созданный тестовый пример изначально не содержит шагов, как показано ниже.
Примечание: Для каждого типа теста добавляется тестовый случай с нулевым количеством шагов. По мере добавления шагов числа в скобках автоматически обновляются.
Этапы функционального тестирования относятся к Шаги тестированияЭтапы выполнения включают в себя Тест нагрузкиа проверки безопасности проводятся под Тесты безопасности.
Шаг 4: Добавляйте различные типы тестовых шагов, щелкнув правой кнопкой мыши. Шаги тестирования и выберите соответствующий вариант. Для веб-сервиса REST выберите тестовый запрос REST вместо запроса SOAP.
Добавление шага тестирования в SoapUI
Добавьте в тестовый сценарий шаг для проверки импортированного SOAP-запроса.
Шаг 1: Добавить новый шаг типа SOAP-запрос как показано ниже.
Шаг 2: Введите название шага и нажмите OK.
Шаг 3: Появляется диалоговое окно для выбора операции, которую необходимо выполнить. Для выбора отображаются все доступные операции.
- Здесь представлено множество операций. Операции идентичны, за исключением версии SOAP: CalculatorSoap использует версию SOAP 1.1, а CalculatorSoap12 — версию SOAP 1.2.
- В данном случае версия не имеет значения, поэтому можно выбрать любую.
- После выбора операции нажмите OK.
Шаг 4: При добавлении тестового случая можно применять стандартные утверждения. Утверждения, также называемые контрольными точками или точками проверки, рассматриваются в следующем уроке.
При создании тестового случая можно добавить следующие контрольные точки. В приведенном ниже примере создается тестовый случай без включенных точек проверки.
- Проверяет, является ли ответное сообщение SOAP-сообщением после выполнения теста.
- Проверяет, является ли схема ответа допустимой.
- Проверяет, содержит ли SOAP-ответ элемент FAULT.
Шаг 5: При создании тестового примера отображается XML-запрос, как показано ниже. Структура XML-файла объяснена на снимке экрана.
Шаг 6: Теперь счетчик шагов тестирования увеличен до единицы, поскольку добавлен один шаг. Добавление шагов нагрузочного тестирования и тестирования безопасности автоматически увеличит соответствующие счетчики.
Отправка запроса вручную и чтение ответа в SoapUI
Шаг 1: В приведенном ниже примере происходит сложение двух целых чисел.
- intA — 5
- intB — 5
Далее:
- Вместо вопросительных знаков в XML-запросе введите следующие данные.
- После обновления соответствующих XML-тегов нажмите Отправить запрос проверить ответ.
Шаг 2: После отправки запроса веб-сервис обрабатывается веб-сервером, и возвращается ответ, как показано ниже.
Ответ подтверждает, что 5 плюс 5 равно 10.
Понимание панелей SOAP-ответа и журналов событий.
Как отмечалось ранее, сообщения SOAP передаются по протоколу HTTP. Анализ необработанных сообщений (RAW) помогает прояснить, как запрос и ответ SOAP передаются по протоколу HTTP.
Шаг 1: Нажмите RAW Вкладка в SoapUI окно запроса.
- Запрос отправляется на веб-сервер, поэтому используется метод HTTP POST.
- SOAP-запрос передается в теле HTTP-сообщения.
Шаг 2: Теперь нажмите RAW Вкладка в SoapUI Окно ответа позволяет понять, как ответ доставляется по протоколу HTTP.
- После обработки запроса отображается код ответа HTTP (200), указывающий на успешное выполнение.
- SOAP-ответ возвращается клиенту в теле HTTP-сообщения.
В таблице ниже приведено краткое описание распространенных кодов ответов HTTP для быстрой отладки.
| HTTP Code | Описание |
|---|---|
| 1xx | Информационные: Запрос получен, обработка продолжается. |
| 2xx | Успех: Действия были успешно восприняты, поняты и приняты. |
| 3xx | Перенаправление: Для выполнения запроса необходимы дальнейшие действия. |
| 4xx | Ошибка клиента: Запрос содержит некорректный синтаксис или не может быть выполнен. |
| 5xx | Ошибка сервера: Сервер не смог выполнить, по всей видимости, действительный запрос. |
Шаг 3: В окне «Тестовый пример» также отображаются дополнительные метаданные для запроса и ответа.
- Указывает на отсутствие заголовка в отправляемом запросе.
- Указывает на отсутствие вложений в запросе, отправляемом на веб-сервер.
- Указывает на наличие 10 элементов заголовка в ответе, которые можно просмотреть, кликнув по ним.
- Указывает на отсутствие вложений в ответном сообщении.
Панель журналов
В панели «Журналы» отображается вся информация, которой обмениваются клиент и сервер. Ниже описаны наиболее часто используемые вкладки журналов.
SoapUI Войти: Отображает информацию об ответе от веб-сервера. Те же данные хранятся в файле soapui.log внутри SoapUI каталог bin.
Журнал HTTP: Отображает все передаваемые HTTP-пакеты. Вся информация, видимая в режиме RAW, также записывается в HTTP-журнал.
Журнал ошибок: Отображает все ошибки, возникшие за весь период работы над проектом. Та же информация хранится в файле soapui-errors.log внутри библиотеки. SoapUI каталог bin.
Журнал воспоминаний: Отслеживает потребление памяти и отображает его в виде графика. Это полезно при выполнении ресурсоемких операций с использованием памяти.
После того, как набор тестов, тестовый пример и тестовый шаг созданы и получен успешный ответ, следующим шагом является проверка этого ответа. Типы утверждений рассматриваются в следующем уроке.






























