understanding assertions soapui soapui tutorial 5
Работим върху основите на SoapUI като създаване на проекти, добавяне на WSDL, изпращане на заявка и получаване на отговори и генериране на тестови активи, които да вървят заедно с тях досега.
В този 5-ти урок за SoapUI ще научим всичко за твърденията в SoapUI. Силно ви препоръчваме да следвайте пълната серия обучения SoapUI на тази страница за да научите всички тези основни функции.
Какво ще научите:
- Въведение в твърденията
- Работа с различни видове твърдения в SoapUI
- Заключение
- Препоръчително четене
Въведение в твърденията
Както при всяко тестване, и ние трябва да сравним какво искаме системата да прави и какво всъщност прави, за да стигнем до определена проверка или твърдение, което се нарича в контекста на уеб услугите. Като тестери няма значение дали сме изпълнили 1000 или дори милион тестови стъпки, но за нас сравнението на резултатите е това, което определя резултата от теста.
Затова ще прекараме цялата тази статия, за да разберем как можем да направим това със SoapUI, въпреки че уеб услугите могат да бъдат заявени ръчно. Също така ръчното твърдение отнема много време, когато има множество отговори и отговори с големи данни. Твърденията на SoapUI отлично преодоляват тези недостатъци.
Твърдения в SOAPUI сравнете частите / цялото съобщение за отговор с очаквания резултат. Можем да добавим разнообразни твърдения, предоставени от SoapUI към всяка стъпка от теста. Всеки тип твърдение е насочен към специфични проверки на отговора, като например съвпадение на текст, сравняване на XPATH или можем също да напишем заявки въз основа на нашите нужди.
Когато тестовите стъпки се изпълнят, тогава свързаните твърдения получават отговора за съответните тестови стъпки. Ако отговорът е неуспешен, съответното твърдение ще бъде обработено и съответната стъпка от теста ще бъде маркирана като неуспешна. Това известие може да се види в изгледа на тестовия случай. Също така можем да намерим неуспешни тестови стъпки в дневника за изпълнение на теста. Екранът за заявяване на примерна стъпка за тест изглежда по-долу:
В горното изображение някои от тестовите стъпки са се провалили, а някои от тях са преминали. Причината е твърдението.
Както обсъждахме по-рано, ако условието за утвърждаване не е изпълнено с очакваните резултати, резултатът е FAILED.
Работа с различни видове твърдения в SoapUI
Нека сега видим как да работим с различни видове твърдения като:
- Съдържа и не съдържа твърдения
- XPath съвпадение и
- Твърдения за съвпадение на XQuery.
Първо, имаме нужда от валидно местоположение на WSDL схема.
Следвайте стъпките по-долу:
Етап 1. Създайте нов SOAP проект като натиснете CTRL + N и следвайте стъпките. След създаването на проекта SOAPUI генерира списък с интерфейси и съответните заявки.
Стъпка 2. За да добавите тестовия пакет към този проект, изпълнете следните стъпки:
- Щракнете с десния бутон върху името на интерфейса MedicareSupplierSoap
- Щракнете Генериране на Testsuite опция от контекстното меню
- Щракнете върху OK в долния прозорец, който се появява:
- В следващото изскачащо съобщение трябва да въведете желаното име на тестовия пакет и да щракнете върху OK
- SOAPUI PRO ще генерира тестовия пакет заедно с заявките в панела за навигация.
- Под тестовия пакет ще видите някои от тестовите стъпки със стъпката за заявка SOAP.
Стъпка 3. За да изпълните този тестов пакет, щракнете двукратно върху стъпката на заявката и посочете стойността на въвеждане в съответното местоположение. Например отворете GetSupplierByCity заявете и въведете Ню Йорк между етикетите на града.
- Стартирайте тази заявка, като кликнете върху иконата RUN - това ще получи отговора.
- Сега нека добавим твърдения. За това щракнете върху Твърдения в горната част на разделите на дневника.
- При щракване с десния бутон ще се появи изскачащо меню с някои основни опции, свързани с твърдение, както по-долу:
# 1) Съдържа твърдение
Щракнете върху опцията Добавяне на твърдение или върху нея от лентата с инструменти - Добавете твърдение на екрана се появява прозорец с различни видове твърдения.
1. Щракнете Съдържание на собствеността категория от списъка - асоциирани видове твърдения и тяхното описание се показва
2. Щракнете Съдържа твърдение и щракнете върху бутона Добавяне
3. Това е прозорецът за конфигуриране на твърдение. Тук трябва да посочим очакваното състояние въз основа на отговора.
За пример е, позволете ми да вляза Ню Йорк текст в това текстово поле. Игнориране на регистъра в сравнение квадратчето ще игнорира, дори ако очакваната стойност е с главни или малки букви.
4. Сега изпълнете тестовия пакет и проверете резултатите. Както видяхте в прозореца на тестовия пакет, зеленото показва успешното изпълнение, а червеното означава неуспех.
# 2) Не съдържа твърдение
Можем да използваме твърдение „не съдържа“ за валидиране на заявки в отрицателни сценарии. Можем да използваме GetSupplierByZipCode искане да научите това.
Отворете раздела за заявка, като щракнете двукратно върху него. В заявката за въвеждане въведете невалидния пощенски код на подходящото място, като например 10029 . Изпълнете тази заявка сега. Проверете данните за отговор, които съдържат данни за доставчика за дадения пощенски код - погледнете изображението по-долу:
(Щракнете върху изображението за увеличен изглед)
Твърдението „не съдържа“, то е подчертано в зелен цвят, тъй като се изпълнява успешно.
В прозореца за конфигуриране сме конфигурирали с положителна очаквана стойност, както е показано по-долу:
Той връща true, ако очакваната условна стойност не е намерена и връща false, ако очакваната стойност е намерена в съобщението за отговор.
По същия начин можем да променим условието и да изпълним заявката още веднъж. Съответно генерира резултатите.
# 3) Твърдение за съвпадение на XPath
Твърдението за съвпадение на XPath е малко по-различно от гледна точка на това, че ще утвърди отговора, като използва действителните данни за отговора.
Например , ако имаме уеб услуга за удостоверяване на вход, която ще удостовери потребителските идентификационни данни и ще изпрати потвърждението на клиента с някакъв булев тип данни, които могат да бъдат TRUE или FALSE под формата на XML.
Както знаете, XML документите се изграждат от тагове. Така че, когато посочвате очакваната стойност в конфигурацията, тя трябва да бъде под формата на XML.
най-добрият софтуер за почистване за Windows 7
Нека се опитаме да направим това:
Добавете още едно твърдение за GetSupplierByCity заявка. В прозореца Добавяне на твърдение щракнете върху Съдържание на собствеността категория и след това щракнете Мач XPath твърдение.
Показва се прозорецът по-долу:
Горната част е частта за деклариране, а долната част е частта за очаквания резултат.
Когато щракнем върху Декларирайте опция ще получим някои автоматично генерирани декларации скриптове, както по-долу:
декларирайте сапун за пространство от имена = ’http: //schemas.xmlsoap.org/soap/envelope/’;
декларирайте пространство от имена ns1 = ’http: //www.webservicex.net/’;
В горните скриптове първият ред означава отговора, който трябва да бъде XML данни и затворени SOAP тагове. В следващия ред целият отговор ще бъде присвоен или копиран в ns1 променлива на пространство от имена по време на изпълнението. Ако искаме да филтрираме конкретни данни от целия отговор, трябва да добавим следния скрипт.
// ns1: Данни на доставчика (1)
Както знаете, ако изпълните GetSupplierByCity при поискване, той ще предостави отговора, който съдържа списък на личните данни на доставчика, към които принадлежи Ню Йорк .
Ето, използвахме XPath мач израз за извличане на личните данни на конкретния доставчик от груповия отговор. За тази цел използвахме ns1 променлива. Сега кликнете върху Изберете от Current бутон.
След това SOAPUI генерира следния резултат:
0127051883 KMART CORP 250 W 34TH ST NEW YORK NY 10119 0002 (212)760-1242 04
Моля, направете справка с тази екранна снимка:
Тук в данните за отговора можете да видите само един личен данни на доставчика. Въз основа на числото, което присъства в ъгловите скоби, изходът ще бъде генериран.
Досега става въпрос за избор на частта от отговора, която се изисква, как можем / използваме XPath мач твърдение?
Нека стигнем до това: Щракнете върху бутона Запазване, след като се оправите с отговора.
Първоначално, ако бихте изпълнили тази услуга след конфигуриране на твърдение за съвпадение на XPath без промени, резултатът ще бъде успешен отговор, състоянието е маркирано в зелено.
Но нека променим входния параметър в заявката за въвеждане на нещо, което е невалиден град - „XYZ или ABC“. Изпълнете заявката и проверете резултатите, както и състоянието на твърдение. Ще получим отговор на неуспеха и червена индикация за състоянието на твърдението. Тъй като вече бяхме посочили, че конкретните данни на доставчика трябва да присъстват в отговора на услугата в очакваната конфигурация на резултата и когато името на града е невалидно, този доставчик явно не присъства.
Ето как можем да утвърдим XML отговора, като използваме твърдение за израз на XPath Match. Съгласен съм, че това е доста лесно да започнете, но ако опитате с различни отговори на услуги, ще получите много по-добра идея.
Можем да използваме и обобщени функции в израз на XPath Match. Те са Sum, Min, Max, Count и Avg.
Например , ако искаме да знаем общия брой доставчици, които се включват в очакваните резултати, напишете следния скрипт.
count (// ns1: SupplierData) и се връща 536 като резултат. Не забравяйте, че всички обобщени функции трябва да са с малки букви.
# 4) Твърдение за съвпадение на XQuery
Това е малко подобно на твърдението XPath Match. Както видяхме в конфигурацията за твърдение на XPath Match, ще има два раздела - декларация и очакван резултат.
- Добавете твърдението на XQuery Match за заявката
- В прозореца за конфигуриране щракнете декларирам бутон и напишете следния скрипт
- Сега кликнете Изберете от Current бутон
- SOAPUI генерира отговора за скрипта
Изразът XQuery също поддържа израз на XPath Match, но има собствен синтаксис на скриптове, който не може да се използва при твърдение за съвпадение на XPath.
Например :
Ще видим един пример за извличане на целия отговор на данните на доставчика с помощта на израза XQuery. Погледнете тази примерна екранна снимка, за да разберете по-добре.
Действителен сценарий:
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/'; declare namespace ns1='http://www.webservicex.net/'; { for $x in //ns1:SupplierData return $x }
Има повече вградени функции, които могат да се използват в израза XQuery. Те са където, поръчка от, за, връщане и така нататък.
Заключение
Е, това са най-често използваните твърдения за вас.
Тук акцентът е върху това: Твърденията са най-важни, за да се предскаже точно очаквания резултат от уеб услугите. Това е причината тя да е една от ключовите функции в SOAPUI PRO .
Следващ урок : В следващия урок ще получим грубост с основи на скриптове и още ...
Моля, поддържайте връзка. Както винаги, вашите коментари, въпроси и предложения са най-добре дошли.
Препоръчително четене
- Как да извършите тестване на данни в SoapUI Pro - Урок SoapUI # 14
- 15+ урока за SoapUI: Най-добрият инструмент за тестване на API за уеб услуги
- Уроци за задълбочено затъмнение за начинаещи
- Как да използвам свойства в SoapUI Groovy Script - Урок SoapUI # 7
- 7 Важни характеристики на SoapUI и SoapUI Pro - Урок 2
- Работа със свойства на SoapUI - Урок № 8 за SoapUI
- 4 Важни характеристики на SoapUI Pro за професионална аудитория - Урок SoapUI # 12
- Стъпка по стъпка Процес на изтегляне и инсталиране на SoapUI - Урок № 3 на SoapUI