Как создать набор тестов и тестовые сценарии в SoapUI

⚡ Умное резюме

Создание SoapUI Проект, набор тестов и тестовые примеры позволяют проводить структурированное тестирование веб-сервисов SOAP. В этом пошаговом руководстве объясняются основы протокола SOAP, импорт WSDL, выполнение запросов, настройка утверждений и анализ журналов ответов для надежного функционального и регрессионного тестирования.

  • ???? SOAP- Foundation: SOAP — это основанный на XML, платформенно-независимый протокол, передаваемый по HTTP, который обеспечивает обмен сообщениями между различными системами.
  • 📁 Создание проекта: Импортируйте WSDL в новый файл. SoapUI Проект SOAP для автоматической генерации примеров запросов для каждой операции.
  • 🇧🇷 Настройка набора тестов: Щелкните правой кнопкой мыши по корневому каталогу проекта, чтобы добавить набор тестов, который группирует связанные тестовые случаи для упорядоченного выполнения.
  • 🧪 Этапы тестового примера: Добавьте шаги SOAP-запроса, выберите целевую операцию и настройте стандартные проверки, такие как проверка соответствия схеме и проверка на наличие ошибок SOAP.
  • 📊 Проверка ответа: Используйте вкладку RAW и панели Log (SoapUI Для проверки кодов состояния HTTP и устранения неполадок при обработке запросов используйте следующие инструменты: Log, HTTP Log, Error Log, Memory Log.

Как создать набор тестов и тестовые сценарии в SoapUI

Понимание протокола SOAP

Перед созданием SoapUI Тестовый пример помогает вспомнить основы протокола SOAP. Четкое понимание того, как запросы и ответы SOAP передаются между системами, упрощает его использование. SoapUI для их эффективного тестирования.

SOAP означает Простой протокол доступа к объектамНиже приведены основные свойства протокола SOAP:

  • Это протокол на основе XML, используемый для связи между двумя различными системами.
  • Система не зависит от платформы и языка программирования. Разработана с использованием... Java может взаимодействовать с устройством, разработанным на платформе .NET.
  • Запросы и ответы SOAP передаются по протоколу HTTP.

Изучите формат сообщений SOAP.

SOAP-сообщение — это обычный XML-документ, содержащий следующие элементы. Сообщение может быть либо запросом, либо ответом.

ФОРМАТ SOAP-сообщения
Формат SOAP-сообщений

После того, как основные принципы SOAP освоены, следующим шагом является создание SoapUI Структура проекта, наборы тестов и тестовые примеры, необходимые для проверки конкретного веб-сервиса. Приведенное ниже пошаговое руководство использует SoapUI Пример проекта для создания нового SOAP-проекта.

Создание SOAP-проекта в SoapUI

В проекте SOAP хранится импортированное определение WSDL, а также все сгенерированные примеры запросов для каждой операции.

Шаг 1: В зависимости от типа проекта импортируйте протокол SOAP или REST. В этом примере создайте новый проект SOAP.

Создание нового проекта SOAP

Шаг 2: Используйте следующий SOAP-запрос. URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. Введите название проекта.
  2. Введите путь к WSDL-запросу (в данном случае, http://www.dneonline.com/calculator.asmx?wsdl).
  3. Нажмите OK.

Введите имя SOAP-проекта и путь к WSDL-файлу.

Примечание:

  • Создайте пример запроса для всех операций: Генерирует пример запроса для каждой операции в WSDL. Включено по умолчанию при вводе адреса WSDL; можно отключить, если не требуется.
  • Создайте набор тестов для импортированного WSDL: Добавляет SoapUI В рамках проекта создан набор тестов для импортированного WSDL-файла.
  • Относительные пути: Сохраняет все файлы относительно файла проекта для удобства переноса.

Шаг 3: После создания SOAP-проекта с использованием указанного выше WSDL-файла в проект будут импортированы две операции.

Импортированный проект SOAP Operaных

Шаг 4: Разверните первый запрос, щелкните правой кнопкой мыши. Добавить, затем нажмите Новый запрос.

Добавить новый запрос в SOAP-проект

Затем нажмите OKSOAP-запрос отображается в формате XML.

Формат XML-запроса SOAP

  1. Введите значения для intA и intB.
  2. Нажмите Отправить .
  3. XML-ответ отображается в правой боковой панели.

Отправьте SOAP-запрос и просмотрите ответ.

Почему нужно создавать тестовые примеры вместо прямых запросов?

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

Как создать набор тестов в SoapUI

Набор тестов — это контейнер, объединяющий связанные тестовые случаи. Для его создания выполните следующие шаги.

Шаг 1) Щелкните правой кнопкой мыши по корневому каталогу проекта.

В рамках проекта создайте набор тестов, щелкнув правой кнопкой мыши по корневому каталогу проекта.

Создание набора тестов в SoapUI - Проект по щелчку правой кнопкой мыши

Шаг 2) Введите данные тестового набора.

Введите название набора тестов и нажмите OK.

Введите название набора тестов.

Шаг 3) Проверьте созданный набор тестов.

Новый набор тестов отображается в панели навигатора, как показано ниже.

Проверить созданный набор тестов

Шаг 4) Откройте набор тестов.

Окно «Набор тестов» открывается в правой панели. Поскольку тестовых случаев пока нет, все параметры действий остаются отключенными.

Открыть пустое окно набора тестов

Как создать тестовый случай в SoapUI

Тестовые случаи находятся внутри набора тестов и объединяют отдельные шаги тестирования, проверяющие работу веб-сервиса.

Шаг 1: В рамках набора тестов можно создать несколько тестов, щелкнув правой кнопкой мыши по набору тестов и выбрав соответствующий пункт. Новый тестовый пример.

Создать новый тестовый случай в SoapUI

Шаг 2: Укажите название Тестовый кейс и нажмите OK.

Введите название тестового случая

Шаг 3: Созданный тестовый пример изначально не содержит шагов, как показано ниже.

Тестовый пример без шагов

Примечание: Для каждого типа теста добавляется тестовый случай с нулевым количеством шагов. По мере добавления шагов числа в скобках автоматически обновляются.

Этапы функционального тестирования относятся к Шаги тестированияЭтапы выполнения включают в себя Тест нагрузкиа проверки безопасности проводятся под Тесты безопасности.

Шаг 4: Добавляйте различные типы тестовых шагов, щелкнув правой кнопкой мыши. Шаги тестирования и выберите соответствующий вариант. Для веб-сервиса REST выберите тестовый запрос REST вместо запроса SOAP.

Вставьте типы шагов тестирования

Добавление шага тестирования в SoapUI

Добавьте в тестовый сценарий шаг для проверки импортированного SOAP-запроса.

Шаг 1: Добавить новый шаг типа SOAP-запрос как показано ниже.

Добавить этап тестирования SOAP-запроса

Шаг 2: Введите название шага и нажмите OK.

Введите название этапа тестирования

Шаг 3: Появляется диалоговое окно для выбора операции, которую необходимо выполнить. Для выбора отображаются все доступные операции.

  • Здесь представлено множество операций. Операции идентичны, за исключением версии SOAP: CalculatorSoap использует версию SOAP 1.1, а CalculatorSoap12 — версию SOAP 1.2.
  • В данном случае версия не имеет значения, поэтому можно выбрать любую.

    Выберите SOAP Operaдля вызова

  • После выбора операции нажмите OK.

    подтвердить OperaВыбор направления

Шаг 4: При добавлении тестового случая можно применять стандартные утверждения. Утверждения, также называемые контрольными точками или точками проверки, рассматриваются в следующем уроке.

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

Стандарт SoapUI Утверждения

  1. Проверяет, является ли ответное сообщение SOAP-сообщением после выполнения теста.
  2. Проверяет, является ли схема ответа допустимой.
  3. Проверяет, содержит ли SOAP-ответ элемент FAULT.

Шаг 5: При создании тестового примера отображается XML-запрос, как показано ниже. Структура XML-файла объяснена на снимке экрана.

Структура XML-запроса

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

Увеличение счетчика шагов тестирования

Отправка запроса вручную и чтение ответа в SoapUI

Шаг 1: В приведенном ниже примере происходит сложение двух целых чисел.

  • intA — 5
  • intB — 5

Далее:

  1. Вместо вопросительных знаков в XML-запросе введите следующие данные.
  2. После обновления соответствующих XML-тегов нажмите Отправить запрос проверить ответ.

Отправка запроса вручную с использованием intA и intB

Шаг 2: После отправки запроса веб-сервис обрабатывается веб-сервером, и возвращается ответ, как показано ниже.

Ответ подтверждает, что 5 плюс 5 равно 10.

SOAP-ответ, отображающий результат добавления.

Понимание панелей SOAP-ответа и журналов событий.

Как отмечалось ранее, сообщения SOAP передаются по протоколу HTTP. Анализ необработанных сообщений (RAW) помогает прояснить, как запрос и ответ SOAP передаются по протоколу HTTP.

Шаг 1: Нажмите RAW Вкладка в SoapUI окно запроса.

  1. Запрос отправляется на веб-сервер, поэтому используется метод HTTP POST.
  2. SOAP-запрос передается в теле HTTP-сообщения.

SOAP-запрос, вкладка RAW

Шаг 2: Теперь нажмите RAW Вкладка в SoapUI Окно ответа позволяет понять, как ответ доставляется по протоколу HTTP.

  1. После обработки запроса отображается код ответа HTTP (200), указывающий на успешное выполнение.
  2. SOAP-ответ возвращается клиенту в теле HTTP-сообщения.

Вкладка "SOAP Response RAW" с HTTP 200

В таблице ниже приведено краткое описание распространенных кодов ответов HTTP для быстрой отладки.

HTTP Code Описание
1xx Информационные: Запрос получен, обработка продолжается.
2xx Успех: Действия были успешно восприняты, поняты и приняты.
3xx Перенаправление: Для выполнения запроса необходимы дальнейшие действия.
4xx Ошибка клиента: Запрос содержит некорректный синтаксис или не может быть выполнен.
5xx Ошибка сервера: Сервер не смог выполнить, по всей видимости, действительный запрос.

Шаг 3: В окне «Тестовый пример» также отображаются дополнительные метаданные для запроса и ответа.

Метаданные окна тестового примера

  1. Указывает на отсутствие заголовка в отправляемом запросе.
  2. Указывает на отсутствие вложений в запросе, отправляемом на веб-сервер.
  3. Указывает на наличие 10 элементов заголовка в ответе, которые можно просмотреть, кликнув по ним.
  4. Указывает на отсутствие вложений в ответном сообщении.

Панель журналов

В панели «Журналы» отображается вся информация, которой обмениваются клиент и сервер. Ниже описаны наиболее часто используемые вкладки журналов.

SoapUI Вкладки панели журналов

SoapUI Войти: Отображает информацию об ответе от веб-сервера. Те же данные хранятся в файле soapui.log внутри SoapUI каталог bin.

SoapUI Вкладка «Журнал»

Журнал HTTP: Отображает все передаваемые HTTP-пакеты. Вся информация, видимая в режиме RAW, также записывается в HTTP-журнал.

Вкладка «Журнал HTTP»

Журнал ошибок: Отображает все ошибки, возникшие за весь период работы над проектом. Та же информация хранится в файле soapui-errors.log внутри библиотеки. SoapUI каталог bin.

Журнал воспоминаний: Отслеживает потребление памяти и отображает его в виде графика. Это полезно при выполнении ресурсоемких операций с использованием памяти.

Вкладка «Журнал памяти»

После того, как набор тестов, тестовый пример и тестовый шаг созданы и получен успешный ответ, следующим шагом является проверка этого ответа. Типы утверждений рассматриваются в следующем уроке.

Часто задаваемые вопросы (FAQ)

Набор тестов — это контейнер, который группирует связанные тестовые случаи внутри себя. SoapUI Проект. Тестовый случай — это отдельный сценарий, содержащий один или несколько шагов тестирования, таких как SOAP-запрос, REST-запрос или утверждения.

Да. SoapUI Поддерживается тестирование как SOAP, так и REST. При создании нового проекта выберите «Новый проект SOAP» для сервисов на основе WSDL или «Новый проект REST» для REST API. Шаги тестирования включают запрос REST, запрос JDBC и Groovy Сценарий.

Откройте набор тестов и нажмите зеленую кнопку воспроизведения. SoapUI Запускает все тестовые случаи в том порядке, в котором они отображаются. Вы также можете настроить параллельное или последовательное выполнение на вкладке «Свойства набора тестов».

Да. Используйте шаг «Свойства», шаг «Передача свойств» или шаг «Источник данных» (SoapUI Плюсы: возможность обрабатывать несколько входных данных в рамках одного тестового случая. Это полезно для тестирования на основе данных с использованием множества комбинаций входных данных.

Искусственный интеллект может считывать WSDL или спецификацию OpenAPI и предлагать реалистичные комбинации входных данных, граничные случаи и шаблоны утверждений. Эти предложения можно экспортировать в виде SoapUI XML или Groovy скрипты, сокращающие трудозатраты при создании больших наборов тестов.

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

Подведем итог этой публикации следующим образом: