Понимание протокола SOAP
Прежде чем мы создадим тестовый пример SOAPUI, давайте разберемся с основами протокола SOAP. Это поможет вам использовать пользовательский интерфейс SOAP для эффективного тестирования запросов и ответов SOAP.
SOAP обозначает S реали O ▪ Таблица A ступа P rotocol. Ниже приведены свойства протокола SOAP.
- Это протокол на основе XML для связи между двумя разными системами.
- Это не зависит от платформы и языка. Следовательно, система, разработанная с использованием Java, может взаимодействовать с системой, разработанной на .NET.
- Запросы / ответы SOAP передаются через HTTP.
В этом руководстве по тестированию вы узнаете:
- Изучите ФОРМАТ сообщений SOAP
- Создать проект
- Создание набора тестов
- Создание тестового примера
- Вставка шага теста
- Понимание панелей отклика мыла и журнала
- Отправка запроса вручную и чтение ответа
Изучите ФОРМАТ сообщений 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 ответа будет отображаться на правой боковой панели.
Вы можете спросить, зачем создавать тестовые наборы? Когда вы можете напрямую протестировать веб-сервис здесь
…Что ж, вы можете отправить заявку на одну операцию. А что насчет других? Сколько комбинаций входных данных для дополнений вы можете выполнить с помощью этой операции ? Вы должны редактировать запрос для каждой комбинации.
Например: если вы хотите добавить 4 и 4 вместо 5 и 5
… Вам нужно снова отредактировать операцию. Таким образом, необходимо создать набор тестов / кейсы, чтобы протестировать все возможные сценарии без непосредственного редактирования самой операции.Создание набора тестов
Шаг 1. В рамках проекта тестировщики могут создать набор тестов, щелкнув правой кнопкой мыши корень проекта.
Шаг 2: Нам нужно ввести название набора тестов и нажать ОК.
Шаг 3: Созданный набор тестов отображается в панели навигации, как показано ниже.
Шаг 4: На правой панели откроется окно Test Suite. Как мы только что создали, тестовых примеров НЕ существует. Следовательно, все параметры отключены.
Создание тестового примера
Шаг 1. В рамках набора тестов мы можем создать несколько тестов, щелкнув правой кнопкой мыши «набор тестов» и выбрав «Новый тестовый набор».
Шаг 2: Укажите имя тестового набора и нажмите «ОК».
Шаг 3: Созданный тестовый пример не имеет шагов, как показано ниже.
Примечание : мы видим, что тестовый пример добавлен с нулевыми тестовыми шагами для всех доступных тестов. После добавления шагов теста числа в скобках автоматически изменятся.
Шаг функционального теста должен входить в «Тестовые шаги», тогда как шаг теста производительности должен входить в «Нагрузочный тест», а шаг теста безопасности должен входить в «Тесты безопасности».
Шаг 4: Мы можем вставить различные этапы тестирования, щелкнув правой кнопкой мыши этапы тестирования и выбрав соответствующий этап тестирования, как показано ниже. Итак, если вы должны протестировать веб-службу REST, вы должны выбрать тестовый запрос REST.
Вставка шага теста
Теперь давайте добавим тестовый шаг для проверки импортированного запроса SOAP.
Шаг 1. Добавьте новый шаг «Запрос SOAP», как показано ниже.
Шаг 2: Введите имя шага и нажмите ОК.
Шаг 3: После нажатия «ОК» появится диалоговое окно для выбора операции, которую нужно вызвать. Перечислены все операции, и пользователь может выбрать операцию, которую он хотел бы вызвать.
- Будет перечислено множество операций. Операции такие же, за исключением используемой версии SOAP.
CalculatorSoap - использует протокол SOAP версии 1.1, тогда как
CalculatorSoap12 - использует протокол SOAP версии 1.2.
- Версия не имеет для нас значения в этом контексте. Следовательно, вы можете выбрать тот, который вам нравится.
- После выбора операции нажмите «ОК».
Шаг 4: В то время как при добавлении тестового случая, мы можем добавить стандартные утверждения. Утверждения также называются контрольными точками / точками проверки, которые мы подробно рассмотрим в следующем руководстве.
Мы можем добавить следующие контрольные точки / утверждения при создании тестового примера. Давайте создадим тестовый пример с опцией, которая означает создание тестового шага БЕЗ любой из следующих точек проверки.
- Проверяет, является ли ответное сообщение SOAP, после выполнения теста.
- Проверяет правильность схемы ответа.
- Проверяет, содержит ли ответ SOAP FAULT.
Шаг 5: После создания тестового примера XML запроса показан ниже. Структура XML поясняется на снимке ниже.
Шаг 6: Теперь счетчик тестовых шагов увеличен до единицы, поскольку мы только что добавили один тестовый шаг. Точно так же при добавлении шага нагрузочных тестов и тестов безопасности соответствующее число будет автоматически увеличиваться в зависимости от количества добавленных шагов.
Отправить запрос вручную и прочитать ответ
Шаг 1. Мы хотим добавить два целых числа.
- intA - 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-код | Описание |
1xx: | Информационный - это означает, что запрос получен и продолжается процесс. |
2xx: | Успешно - действие было успешно получено, понято и принято. |
3xx: | Перенаправление - это означает, что для выполнения запроса необходимо предпринять дальнейшие действия. |
4xx: | Ошибка клиента - это означает, что запрос содержит неверный синтаксис или не может быть выполнен. |
5xx: | Ошибка сервера - серверу не удалось выполнить явно действительный запрос. |
Шаг 3: Давайте разберемся с другой информацией, которая отображается в окне тестового примера.
- Представьте заголовок NO в отправляемом запросе
- Представляет НИКАКИХ вложений в запросе, отправляемом на веб-сервер.
- Представляет 10 заголовков, которые отображаются при нажатии на них.
- Указывает, что в ответном сообщении нет вложений.
ПАНЕЛЬ ЖУРНАЛОВ:
Панель журналов содержит полную информацию о транзакции между клиентом и сервером. Пользователи смогут видеть вкладки панели журнала, как показано ниже. Мы обсудим наиболее часто используемые панели журнала при работе с SOAP-UI.
Журнал SoapUI - отображает информацию об ответе веб-сервера. Та же информация хранится в файле soapui.log установленной папки SOAP-UI в каталоге bin.
Http Log - отображает все передачи HTTP-пакетов. Вся информация в формате RAW отображается в журнале HTTP.
Журнал ошибок - журнал ошибок отображает все ошибки, с которыми мы столкнулись в течение всего сеанса проекта. Та же информация доступна в журнале «soapui-errors.log» в каталоге «bin» установленного пользовательского интерфейса SOAP.
Журнал памяти - эта вкладка отслеживает потребление памяти и отображает его в виде диаграммы, как показано ниже. Это действительно полезно, когда выполняется операция с интенсивным использованием памяти.
Теперь, когда мы создали набор тестов, тестовый пример, шаг теста и получили ответ, следующим шагом будет проверка ответа. В следующем уроке мы рассмотрим типы утверждений.