Понимание протокола SOAP
Прежде чем мы создадим тестовый пример SOAPUI, давайте разберемся с основами протокола SOAP. Это поможет вам использовать пользовательский интерфейс SOAP для эффективного тестирования запросов и ответов SOAP.
SOAP обозначает S реали O ▪ Таблица A ступа P rotocol. Ниже приведены свойства протокола SOAP.
- Это основанный на XML протокол для связи между двумя разными системами.
- Это не зависит от платформы и языка. Следовательно, система, разработанная с использованием Java, может взаимодействовать с системой, разработанной в .NET.
- SOAP-запросы / ответы передаются через HTTP.
В этом уроке по тестированию вы узнаете:
- Изучите ФОРМАТ сообщения SOAP
- Создать проект
- Создание Test Suite
- Создание теста
- Вставить тестовый шаг
- Понимание реакции мыла и панелей журнала
- Отправка запроса вручную и чтение ответа
Изучите ФОРМАТ сообщения SOAP
SOAP-сообщение — это обычный XML-документ, содержащий следующие элементы. Сообщение может быть либо сообщением запроса, либо ответным сообщением.
После настройки рабочего пространства, которое мы выполнили в последнем уроке, мы должны создать проекты, тестовые наборы, тестовые случаи для тестирования данного веб-сервиса. Давайте разберемся, как сделать то же самое.
Создать проект
Шаг 1: Теперь, в зависимости от проекта, нам нужно импортировать протокол SOAP / REST. Мы создадим новый проект SOAP.
Шаг 2: Мы будем использовать следующий запрос SOAP http://www.dneonline.com/calculator.asmx?wsdl
- Введите название проекта
- Введите путь запроса WSDL. В этом случае http://www.dneonline.com/calculator.asmx?wsdl
- Нажмите ОК
Замечания:
- Создать пример запроса для всех операций? Он создает пример запроса для всех доступных операций в данном WSDL. Как только вы введете адрес WSDL, эта опция будет проверена автоматически. Вы можете снять это.
- Создать набор тестов для импортированного WSDL: Создает набор тестов в проекте для импортированного WSDL.
- Относительные пути : позволяет пользователю сохранить все файлы, относящиеся к файлу проекта.
Шаг 3. После создания проекта SOAP с вышеупомянутым WSDL мы увидим, что в проект будут импортированы две операции.
Шаг 4)
Разверните первый запрос и щелкните правой кнопкой мыши на «Добавить». Затем нажмите «Новый запрос».
Затем нажмите «ОК». Он отобразит запрос SOAP в формате XML
- Введите intA и intB
- Нажмите на кнопку отправить
- Ответ XML будет отображаться в правой части окна.
Вы можете удивиться, зачем создавать тестовые случаи? Когда вы можете напрямую протестировать Webservice здесь …
Ну, вы можете отправить запрос на одну операцию. А как насчет других? Сколько комбинаций входов для дополнений вы можете сделать с помощью этой операции ? Вы должны редактировать запрос для каждой комбинации.
Например: если вы хотите добавить из 4 и 4 вместо 5 и 5 … Вам нужно снова отредактировать операцию. Таким образом, необходимо создать набор тестов / кейсов, чтобы протестировать все возможные сценарии без непосредственного редактирования самой операции.
Создание Test Suite
Шаг 1. В рамках проекта тестировщики могут создать набор тестов, щелкнув правой кнопкой мыши корневой каталог проекта.
Шаг 2: Нам нужно ввести название набора тестов и нажать ОК.
Шаг 3: Созданный набор тестов отображается на панели навигации, как показано ниже.
Шаг 4: Окно Test Suite открывается в правой панели. Как мы только что создали, тестовых случаев НЕТ. Следовательно, все параметры отключены.
Создание теста
Шаг 1. В рамках набора тестов мы можем создать несколько тестов, выполнив щелчок правой кнопкой мыши на «наборе тестов» и выбрав «Новый TestCase».
Шаг 2: Укажите имя тестового примера и нажмите «ОК».
Шаг 3: Созданный контрольный пример имеет нулевые шаги, как показано ниже.
Примечание . Мы видим, что тестовый пример дополнен нулевыми шагами для всех доступных тестов. После добавления шагов теста числа в скобках будут автоматически меняться.
Шаг функционального тестирования должен перейти в «Тестовые шаги», а шаг теста производительности — в «Нагрузочное тестирование», а шаг теста безопасности — в «Тесты безопасности».
Шаг 4: Мы можем вставить различные шаги теста, выполнив щелчок правой кнопкой мыши на шагах теста и выбрав соответствующий шаг теста, как показано ниже. Итак, если вы хотите протестировать REST Webservice, вы должны выбрать REST Test Request.
Вставить тестовый шаг
Теперь давайте добавим тестовый шаг для проверки импортированного запроса SOAP.
Шаг 1: Добавьте новый шаг «Запрос SOAP», как показано ниже.
Шаг 2: введите имя шага и нажмите ОК.
Шаг 3: После нажатия «ОК», появляется диалоговое окно, чтобы выбрать операцию для вызова. Все операции перечислены, и пользователь может выбрать операцию, которую он хотел бы вызвать.
- Есть много операций, которые будут перечислены. Операции такие же, за исключением используемой версии SOAP.
CalculatorSoap — использует SOAP версии 1.1, тогда как,
CalculatorSoap12 — использует SOAP версии 1.2
- Версия не имеет значения для нас в этом контексте. Следовательно, вы можете выбрать тот, который вы выберете.
- После выбора операции нажмите «ОК»
Шаг 4. При добавлении тестового примера мы можем добавить стандартные утверждения. Утверждения также называются контрольными точками / точками проверки, которые мы подробно рассмотрим в следующем уроке .
Мы можем добавить следующие контрольные точки / утверждения при создании тестового примера. Давайте создадим тестовый набор с опцией, которая означает создание шага теста БЕЗ любой из нижеуказанных точек проверки
- Проверяет, является ли ответное сообщение SOAP при выполнении теста.
- Проверяет правильность схемы ответа.
- Проверяет, содержит ли ответ SOAP ОТКАЗ.
Шаг 5. После создания тестового примера XML-код запроса показан ниже. Структура XML объясняется в следующем снимке.
Шаг 6: Счетчик шагов теста теперь увеличивается до единицы, поскольку мы только что добавили один шаг теста. Аналогично, после добавления шага нагрузочных и тестов безопасности, соответствующее число будет автоматически увеличиваться в зависимости от количества добавленных шагов.
Отправить запрос вручную и прочитать ответ
Шаг 1: Мы хотели бы добавить два целых числа.
- ИнтА — 5
- intB — 5
Следующий,
- Нам нужно ввести эти входные данные вместо знака вопроса, который будет отправлен как XML-запрос.
- После ввода этих значений в соответствующие теги XML нажмите кнопку «отправить запрос», чтобы проверить ответ.
Шаг 2: После отправки запроса запрос веб-службы обрабатывается веб-сервером и отправляет ответ, как показано ниже.
Прочитав ответ, мы можем сделать вывод, что 5 плюс 5 — это 10.
Понимание реакции мыла и панелей журнала
Как объяснено в начале этого руководства, сообщения SOAP транспортируются по протоколу HTTP. Давайте посмотрим на сообщения RAW. Это поможет нам узнать, как запрос и ответ SOAP транспортировался по HTTP.
Шаг 1: Нажмите вкладку «RAW» в обоих окнах запросов SOAP-UI.
- Запрос размещен на веб-сервере. Следовательно, метод POST Http используется.
- Запрос SOAP транспортируется в теле сообщения Http.
Шаг 2: Теперь нажмите вкладку «RAW» в окне ответа SOAP-UI, чтобы понять, как ответ отправляется через HTTP.
- После обработки запроса отображается код ответа Http (200), что означает его успешность. Веб-сервер обработал его успешно.
- Ответ SOAP отправляется обратно клиенту как часть тела HTTP-сообщения.
Быстрый снимок кодов Http Response для легкого понимания и отладки. Приведенная ниже таблица поможет вам устранить неполадки на основе HTTP-кода, полученного с веб-сервера.
Http-код | Описание |
1хх: | Информационный — это означает, что запрос получен и продолжается процесс. |
2xx: | Успех — действие было успешно получено, понято и принято. |
3xx: | Перенаправление — это означает, что для выполнения запроса необходимо предпринять дальнейшие действия. |
4xx: | Ошибка клиента — это означает, что запрос содержит неверный синтаксис или не может быть выполнен |
5xx: | Ошибка сервера — серверу не удалось выполнить явно допустимый запрос |
Шаг 3. Давайте разберемся с другой информацией, отображаемой в окне контрольного теста.
- Представлять NO заголовок в отправляемом запросе
- Представляет НЕТ вложений в запросе, отправляемом на веб-сервер.
- Представляет 12 данных заголовка и то же самое отображается при нажатии на него.
- Представляет, что в ответном сообщении нет вложений.
ЛОЖА
Панель журналов содержит полную информацию о транзакции между клиентом и сервером. Пользователи смогут видеть вкладки панели журнала, как показано ниже. Мы обсудим наиболее часто используемые области журналов при работе с SOAP-UI.
Журнал SoapUI — отображает информацию об ответе от веб-сервера. Эта же информация хранится в файле soapui.log установленной папки SOAP-UI в каталоге bin.
Http Log — отображает всю передачу HTTP-пакетов. Вся информация в «RAW» отображается в журнале HTTP.
Журнал ошибок — Журнал ошибок отображает все ошибки, с которыми мы столкнулись в течение всего сеанса проекта. Та же информация доступна в файле soapui-errors.log, который находится в каталоге bin установленного местоположения SOAP UI.
Журнал памяти — эта вкладка отслеживает потребление памяти и отображает его в виде диаграммы, как показано ниже. Это действительно полезно, когда выполняется операция с интенсивным использованием памяти.
Теперь, когда мы создали набор тестов, тестовый набор, тестовый шаг и получили ответ, следующий шаг — проверка ответа. Мы рассмотрим типы утверждений в следующем уроке.