Как да създадете тестов пакет и тестов случай в SoapUI

⚡ Умно обобщение

Създаване на SoapUI Проектът, тестовият пакет и тестовият случай позволяват структурирано тестване на SOAP уеб услуги. Това ръководство обяснява основите на SOAP протокола, импортирането на WSDL, изпълнението на заявки, настройката на твърдения и анализа на лога на отговорите за надеждно функционално и регресионно тестване.

  • 🧠 SOAP Foundation: SOAP е XML-базиран, платформено-независим протокол, пренасян през HTTP, който обменя съобщения между различни системи.
  • 📁 Създаване на проект: Импортирайте WSDL в нов SoapUI SOAP проект за автоматично генериране на примерни заявки за всяка операция.
  • 🗂️ Настройка на тестовия пакет: Щракнете с десния бутон върху корена на проекта, за да добавите тестов пакет, който групира свързани тестови случаи за организирано изпълнение.
  • 🧪 Стъпки на тестовия случай: Добавете стъпки на SOAP заявка, изберете целевата операция и конфигурирайте стандартни твърдения, като например проверки за съответствие на схемата и SOAP грешки.
  • 📊 Проверка на отговора: Използвайте раздела RAW и панелите Log (SoapUI Дневник, HTTP дневник, дневник на грешките, дневник на паметта) за валидиране на HTTP кодове за състояние и отстраняване на неизправности в заявките.

Как да създадете тестов пакет и тестов случай в SoapUI

Разбиране на SOAP протокола

Преди да създадете a 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: Добавя a 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) Щракнете с десния бутон върху корена на проекта.

В рамките на проекта създайте Test Suite, като щракнете с десния бутон върху корена на проекта.

Създаване на тестов пакет в SoapUI - Проект с десен клик

Стъпка 2) Въведете данните за тестовия пакет.

Въведете името на тестовия пакет и щракнете OK.

Въведете име на тестовия пакет

Стъпка 3) Проверете създадения тестов пакет.

Новият тестов пакет се появява в навигационния панел, както е показано по-долу.

Проверка на създадения тестов пакет

Стъпка 4) Отворете тестовия пакет.

Прозорецът „Тестов пакет“ се отваря в десния панел. Тъй като все още няма тестови случаи, всички опции за действия остават деактивирани.

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

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

Тестовите случаи се намират в рамките на тестов пакет и групират отделните стъпки на тестване, които упражняват уеб услуга.

Стъпка 1: В рамките на тестов пакет, създайте множество тестове, като щракнете с десния бутон върху тестовия пакет и изберете Нов тестов случай.

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

Стъпка 2: Посочете името на Тестов случай и кликнете OK.

Въведете име на тестовия случай

Стъпка 3: Създаденият тестов случай първоначално има нула стъпки, както е показано по-долу.

Тестов случай с нула стъпки

Забележка: Тестовият случай се добавя с нула тестови стъпки за всеки тип тест. С добавянето на стъпките, числата в скобите се актуализират автоматично.

Стъпките на функционалния тест принадлежат към Тестови стъпки, стъпките за изпълнение влизат в Тест за зарежданеи проверките за сигурност се извършват под Тестове за сигурност.

Стъпка 4: Вмъкнете различни типове тестови стъпки, като щракнете с десния бутон Тестови стъпки и избиране на подходящата опция. За REST уеб услуга изберете REST Test Request вместо SOAP request.

Вмъкване на типове тестови стъпки

Добавяне на тестова стъпка в SoapUI

Добавете тестова стъпка, за да валидирате импортираната SOAP заявка в тестовия случай.

Стъпка 1: Добавяне на нова стъпка от типа SOAP заявка както е показано по-долу.

Добавяне на стъпка за тестване на SOAP заявка

Стъпка 2: Въведете името на стъпката и щракнете OK.

Въведете име на тестова стъпка

Стъпка 3: Появява се диалогов прозорец за избор на операцията, която да се извика. Всички налични операции са изброени за избор.

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

    Изберете SOAP Operaция за извикване

  • След като изберете операцията, щракнете OK.

    потвърждавам OperaИзбор на ция

Стъпка 4: При добавяне на тестов случай могат да се прилагат стандартни твърдения. Твърденията, наричани още контролни точки или точки за валидиране, са разгледани в следващия урок.

Следните контролни точки могат да бъдат добавени при създаването на тестов случай. Примерът по-долу създава тестов случай без активирани точки за валидиране.

Standard 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 отговор RAW раздел с HTTP 200

Таблицата по-долу обобщава често срещаните HTTP кодове за бързо отстраняване на грешки.

HTTP Code Descriptйон
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.

Дневник на паметта: Следи потреблението на памет и го показва като диаграма. Това е полезно при изпълнение на операции, изискващи интензивно използване на паметта.

Раздел „Дневник на паметта“

След като са налице тестов пакет, тестов случай и тестова стъпка и е получен успешен отговор, следващата стъпка е валидирането на отговора. Типовете твърдения са разгледани в следващия урок.

Въпроси и Отговори

Тестовият пакет е контейнер, който групира свързани тестови случаи вътре в SoapUI Проект. Тестов случай е единичен сценарий, който съдържа една или повече тестови стъпки, като например SOAP заявка, REST заявка или твърдения.

Да. SoapUI поддържа както SOAP, така и REST тестване. Когато създавате нов проект, изберете „Нов SOAP проект“ за WSDL-базирани услуги или „Нов REST проект“ за REST API. Стъпките за тестване включват REST заявка за тест, JDBC заявка и Groovy Сценарий.

Отворете тестовия пакет и щракнете върху зеления бутон за възпроизвеждане. SoapUI изпълнява всички тестови случаи в реда, в който се появяват. Можете също да конфигурирате паралелно или последователно изпълнение в раздела „Свойства на тестовия пакет“.

Да. Използвайте стъпката „Свойства“, стъпката „Прехвърляне на свойства“ или стъпката „Източник на данни“ (SoapUI Pro) за управление на множество входни данни през един и същ тестов случай. Това е полезно за тестване, управлявано от данни, в много входни комбинации.

Асистентите с изкуствен интелект могат да четат WSDL или OpenAPI спецификация и да предлагат реалистични входни комбинации, гранични случаи и модели на твърдения. Тези предложения могат да бъдат експортирани като SoapUI XML или Groovy скриптове, намалявайки ръчните усилия при изграждането на големи тестови пакети.

Да. ИИ инструментите могат да анализират SoapUI Записи в лог и HTTP лог, клъстериране на повтарящи се грешки и маркиране на вероятни коренни причини, като например несъответствия в схемите или неуспехи при удостоверяване. Това ускорява сортирането по време на регресионни цикли и големи нощни изпълнения.

Обобщете тази публикация с: