working with soapui properties soapui tutorial 8
Този урок е всичко за свойствата на SoapUI. В последния урок за SoapUI видяхме как да добавя свойства в скрипт Groovy .
Имот в САПУН е подобен на променлива / параметър и в този урок ще говорим за това как да използваме такъв в заявка за услуга и да му присвоим стойност на отговор чрез скриптове. По-късно ще преминем към стъпка на теста за прехвърляне на свойства и след това импортиране на свойства.
Това е 8-ми урок в нашия Онлайн обучение за SoapUI серия.
Какво ще научите от този урок за SoapUI?
- Различни лица на имоти
- Интегриране на свойства в заявка за услуга
- Разбиране на Тестова стъпка за прехвърляне на собственост
- Заредете свойства отвън
Има двавидове свойства в SoapUI:
- Свойства по подразбиране : включен в инсталацията на SoapUI. Можем да редактираме някои от свойствата по подразбиране, но не всички.
- Персонализирани / дефинирани от потребителя свойства : Те се определят от нас на всяко необходимо ниво, като глобално, проект, тестов пакет, тестов случай или тестова стъпка.
Най-често свойствата са свикнали съхранявайте и извличайте данните докато изпълняваше тестовите случаи. Вътрешно свойството ще съхранява стойността във формат двойка ключове.
Например , в изявлението по-долу, „Local_Property_FromCurrency“ е име на ключ и „USD“ препраща стойност. За достъп до стойността на свойството трябва да използваме името на свойството.
testRunner.testCase.testSteps („Свойства“). setPropertyValue
(' Local_Property_FromCurrency ', 'ЩАТСКИ ДОЛАР' )
Какво ще научите:
- Различни нива на свойства в SoapUI Pro
- Повече подробности за свойствата с примери
- Използване на свойства в услугите
- Прехвърляне на собственост
- Заключение
- Препоръчително четене
Различни нива на свойства в SoapUI Pro
Нека обсъдим различните нива на свойства в SoapUI Pro. В SoapUI има три нива на свойства.
Ниво 1. Проектни и персонализирани свойства
На това ниво свойствата са разделени на два раздела. Те са свойства на проекти и персонализирани свойства. Те ще се появят в долната част на панела за навигация, когато щракнем върху името на проекта. Разделът на свойствата на проекта има свойства по подразбиране, които се създават по време на създаването на проекта, например име, описание, файл и т.н.
За да създадем свои собствени свойства, можем да използваме раздела за персонализирани свойства. Щракнете върху иконата плюс, за да създадете свойства:
Налични са много други опции като премахване, преместване нагоре, преместване надолу и сортиране до добавяне. Може да бъде добавен и използван произволен брой персонализирани свойства от всякакви секции (тестов пакет, тестови случаи) в рамките на проекта.
Ниво 2. Test Suite и персонализирани свойства
Тези свойства се виждат само под тестовия пакет. Тестовият пакет може да съдържа произволен брой свойства и те могат да бъдат достъпни от всички тестови стъпки, които принадлежат към споменатия тестов пакет.
Свойствата на тестовия пакет се появяват, когато щракнете върху името на съответния тестов пакет под проекта. За да добавите персонализирани свойства, ако е необходимо, щракнете върху раздела персонализирани свойства и щракнете върху знака ‘+’ под него.
Имот # 3. Тест и персонализирани свойства
Свойствата на тестовия случай са достъпни в тестовия случай. Те не са достъпни от други стъпки от тестови случаи или дори тестови пакети по проекта.
как да отворите dat файл на windows
Повече подробности за свойствата с примери
Свойствата могат да съхраняват крайни точки, данни за вход, информация за заглавието и домейн и т.н., въпреки че сме обсъждали писане и четене на данни към / от свойствата, тепърва ще обсъждаме тази тема в подробности с пример.
Обсъдените по-горе нива на свойства се използват при скриптове за четене на данните.
# 1. Свойства за четене:
Ще разгледаме как можем да четем свойства в грув скрипт. За да получите достъп до свойства на различни нива, по-долу е синтаксисът:
Проект: Синтаксис: $ {# Име на проекта # Стойност}
Пример:
деф пр ojectPro = testRunner.testC да се se.testSuite.project.getPropertyValue
(„Project_Level_Property“)
“Project_Level_Property”)
log.info (projectPro)
Тестов пакет: Синтаксис: $ {# TestSuite # Стойност}
Пример:
деф тест P ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Тест: Синтаксис: $ {# TestCase # Value}
Пример:
деф тест casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Вижте екранната снимка по-долу:
# 2. Записване в свойства:
За да направим това, трябва да използваме setPropertyValue метод.
Синтаксис: setPropertyValue („име на свойството“, „стойност“)
Ако присвоим стойности на неизвестни свойства, тогава SoapUI ще създаде тези свойства на ново. За съществуващите свойства ще получат стойностите по време на заданието.
# 3. Премахване на свойства чрез скрипт:
Това може да стане, като щракнете с десния бутон върху името на имота от панела на свойството. След това кликнете върху опцията Премахване от контекстното меню.
За да направите това, като използвате скрипт за премахване на персонализираните свойства, използвайте следните изявления съответно за нива на проект, тестов пакет или тестов случай:
testRunner.testCase.testSuite.project.removeProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty (“Testcase_Property”);
Горните скриптове не са оптимални, когато имаме множество свойства на всяко ниво, тъй като тези стъпки трябва да се повторят няколко пъти за всяко свойство. Алтернатива е итерацията на свойствата чрез скрипта, както е показано по-долу:
testRunner.testCase.properties.each
{
ключ, стойност ->
testRunner.testCase.removeProperty (ключ)
}
Горният скрипт ще повтори до последното свойство, налично под тестовия случай. „ Ключ 'Отнася името на имота, където като' стойност ”Обозначава действителната стойност на имота. Можем да модифицираме горния скрипт, за да премахнем груповия списък със свойства, присъстващ на различни нива.
# 4. Добавяне на имот:
AddProperty за това се използва метод, чийто синтаксис е:
addProperty (име на свойството);
Това може да се адаптира за всяко ниво, както е показано по-долу:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
След като изпълните горните скриптове, щракнете върху името на проекта / тестовия пакет / тестовия случай. Проверете раздела за персонализирани свойства в панела със свойства и създаденото свойство се появява тук. Вижте по-долу за справка:
Използване на свойства в услугите
В този раздел ще научим как можем да използваме свойствата в услугите и ще използваме горните скриптове за добавяне, присвояване, извличане на данни за имоти с уеб услуга с конвертор на валута.
Интегриране на свойства в услуга:
Нека започнем да добавяме тестови стъпки, както е показано на екрана по-долу.
В горната екранна снимка тестовата стъпка AddProperties_Script съдържа следния скрипт, който добавя две свойства като Property_FromCurrency и Property_ToCurrency .
// Добавяне на свойства
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Присвояване на стойности на свойствата
testRunner.testCase.setPropertyValue (‘Property_FromCurrency’, ‘USD’)
testRunner.testCase.setPropertyValue (‘Property_ToCurrency’, ‘INR’)
В ServiceRequest_CurrencyConverter_1 съдържа заявката с входни параметри, както се вижда по-долу:
Присвоените стойности в свойствата ще бъдат прехвърлени към тези параметри по време на изпълнението. След тази стъпка от теста, GetResponseData_Script тест стъпка има скрипта, който ще получи стойността на отговора и ще покаже резултата в дневника. Ето сценария.
// Вземете данни за отговор от услугата
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = нов XmlSlurper (). parseText (отговор)
String convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (ConverValue)
След като всички стъпки са готови, щракнете двукратно върху името на тестовия пакет и стартирайте тестовия пакет. След това щракнете двукратно върху ServiceRequest_CurrencyConverter_1 и вижте раздела за отговор.
Ето какво бихме открили:
- Ще бъде получен отговор
- Отворете регистрационния файл на скрипта, за да видите получените данни, които се преобразуват въз основа на входните параметри
По този начин можем да предадем параметрите на заявката за вход и да получим отговора чрез скрипта, използвайки свойства. Продължавайки по-нататък, можем също да предадем стойността на отговора на друга услуга като вход.
Прехвърляне на собственост
Стъпката на теста за прехвърляне на свойства прехвърля данните за свойствата от едно свойство в друго по време на изпълнението. Нека видим накратко как можем да създадем стъпка за тестване на прехвърлянето на свойства и как стойността на свойствата се прехвърля между две свойства.
- Щракнете с десния бутон върху името на тестовия случай под тестовия пакет
- Щракнете Добавете стъпка и след това щракнете Имоти опция от контекстното меню
- Повторете горните стъпки, за да създадете второто свойство. Вижте екранната снимка по-долу:
- Сега трябва да добавим стъпка за тест за прехвърляне на собственост.
- Щракнете с десния бутон върху името на тестовия случай и щракнете върху опцията за прехвърляне на свойства от контекстното меню
- Въведете желаното име за прехвърляне на собственост и след това щракнете върху OK
- Щракнете върху Добавяне, т.е. знак плюс в лентата с инструменти за прехвърляне на собственост
- Посочете името на трансфера и след това щракнете върху бутона OK
- В десния страничен панел има два раздела: Source и Target.
Изберете източника като Имоти и имущество като Свойство_пощенски код . Направете същото в целевия раздел. Избирам Target_Property от падащия имот. Когато се изпълни иконата, стойността на свойството ще бъде прехвърлена от Свойство_пощенски код да се Target_Property .
(Щракнете върху изображението за увеличен изглед)
Вижте прехвърлената стойност, както е показано на екрана по-долу.
Забележка: Изходното свойство трябва да съдържа стойността по подразбиране.
В допълнение към това, на екрана за прехвърляне на собственост има много опции.
- Неуспешно прехвърляне при грешка
- Прехвърляне на текстово съдържание
- Прехвърляне към всички
- Възбудете прехвърлената (ите) стойност (и)
- Задайте Null за липсващ източник
- Игнорирайте празни / липсващи стойности
- Използвайте XQuery
- Прехвърляне на дъщерни възли
Заредете свойства от външен източник:
За да заредите свойства от външен източник, изпълнете следните стъпки.
- Добавете тестова стъпка на свойствата под тестовия случай
- Въведете името на стъпката на свойството и след това щракнете върху OK
- В панела на свойствата под навигационния панел щракнете върху раздела Персонализирани свойства
- Щракнете
икона за зареждане на свойствата от външния файл със свойства
Забележка: Файлът на собствеността трябва да бъде запазен или да присъства на вашия компютър. За да запазите свойствата, щракнете върху иконата.
След това отидете на съответното устройство и изберете свойството, както е показано по-долу:
На OK можем да видим заредените свойства и техните стойности в раздела Персонализирани свойства.
Заключение
Е, това са свойства за нас!
Свойствата на всяко ниво имат свои собствени характеристики. По време на вашата практика на SoapUI, опитайте се да включите свойства, когато е възможно, с тестовата стъпка на грув скрипт за добавяне, премахване, присвояване и извличане на данни за свойства. Това е не само полезно, когато практикувате с услугите, но и критично за реално тестване на приложения, тъй като тази техника е много полезна за заявете вашите тестови случаи .
Прехвърлянето на свойства между тестовите стъпки е по-лесно от писането на повтарящи се скриптове за създаване на нови. SoapUI също така дава прекрасната функция за импортиране и експортиране на свойства. Тази функция ще бъде полезна, когато използваме общи свойства като подробности за вход, подробности за сесията и т.н. за множество проекти. По този начин не е нужно да създаваме едни и същи свойства отново и отново за множество проекти. Можем просто да променим стойността на имота спрямо свойствата въз основа на проектите.
Следващ урок # 9 : В следващия урок за SoapUI ще научим Условни изявления в Groovy като:
- Булеви изявления
- Изявления за повторение
- Масиви в Groovy
Това е всичко за днес. Продължете да четете и ще се видим в следващия урок. Моля, споделете вашите въпроси, коментари и опит по-долу.
Препоръчително четене
- Как да използвам свойства в SoapUI Groovy Script - Урок SoapUI # 7
- Как да извършите тестване на данни в SoapUI Pro - Урок SoapUI # 14
- 15+ урока за SoapUI: Най-добрият инструмент за тестване на API за уеб услуги
- Как да напиша основен скрипт Groovy в SoapUI - Урок № 6 за SoapUi
- Уроци за задълбочено затъмнение за начинаещи
- 7 Важни характеристики на SoapUI и SoapUI Pro - Урок 2
- Разбиране на твърдения в SoapUI - Урок № 5 за SoapUI
- 4 Важни характеристики на SoapUI Pro за професионална аудитория - Урок SoapUI # 12