working with soapui properties soapui tutorial 8
Denna handledning handlar om SoapUI-egenskaper. I den senaste SoapUI-tutorialen såg vi hur man lägger till egenskaper i Groovy-skript .
En fastighet i TVÅL liknar en variabel / parameter och i denna handledning kommer vi att prata om hur man använder en i en tjänstförfrågan och tilldelar svarsvärde till den genom skript. Senare kommer vi att gå vidare till teststeg för fastighetsöverföring och sedan importera egenskaper.
Detta är den åttonde självstudien i vår SoapUI online-utbildning serier.
Vad kommer du att lära dig av denna SoapUI-handledning?
- Olika ansikten av egenskaper
- Integrera egenskaper i serviceförfrågan
- Förstå Teststeg för fastighetsöverföring
- Ladda egenskaperna externt
Det finns tvåtyper av fastigheter i SoapUI:
- Standardegenskaper : ingår i SoapUI-installationen. Vi kan redigera några av standardegenskaperna men inte alla.
- Anpassade / användardefinierade egenskaper : Dessa definieras av oss på alla nivåer som behövs, såsom global, projekt, testsvit, testfall eller teststeg.
Oftast är egenskaper vana vid lagra och hämta data medan du utför testfallet. Intern egendom lagrar värdet i nyckelparformat.
Till exempel , i nedanstående uttalande är 'Local_Property_FromCurrency' ett nyckelnamn och 'USD' avser värde. För att komma åt fastighetsvärdet måste vi använda egenskapens namn.
testRunner.testCase.testSteps ('Egenskaper'). setPropertyValue
(' Local_Property_FromCurrency ', 'USD' )
Vad du kommer att lära dig:
- Olika fastighetsnivåer i SoapUI Pro
- Mer information om fastigheter med exempel
- Använda fastigheter i tjänster
- Fastighetsöverföring
- Slutsats
- Rekommenderad läsning
Olika fastighetsnivåer i SoapUI Pro
Låt oss diskutera de olika fastighetsnivåerna i SoapUI Pro. I SoapUI finns det tre nivåer av fastigheter tillgängliga.
Nivå 1. Projekt och anpassade egenskaper
I den här nivån delas fastigheter upp i två sektioner. De är projektegenskaper och anpassade egenskaper. Dessa kommer att visas längst ner på navigatorpanelen när vi klickar på projektnamnet. Projektegenskapsavsnittet har standardegenskaper som skapas under projektskapandet, till exempel namn, beskrivning, fil etc.
För att skapa våra egna egenskaper kan vi använda fliken anpassade egenskaper. Klicka på plusikonen för att skapa egenskaper:
Det finns många andra alternativ tillgängliga, till exempel ta bort, flytta uppåt, flytta ner och sortera bredvid lägg till. Valfritt antal anpassade egenskaper kan läggas till och användas av alla avsnitt (testsvit, testfall) inom projektet.
Nivå 2. Testa sviten och anpassade egenskaper
Dessa egenskaper är endast synliga under testsviten. En testsvit kan innehålla valfritt antal egenskaper och de kan nås från alla teststeg som tillhör nämnda testsvit.
Test suite egenskaper visas när du klickar på respektive test suite namn under projektet. För att lägga till anpassade egenskaper efter behov klickar du på fliken anpassade egenskaper och klickar på tecknet '+' under det.
Fastighet nr 3. Testfall och anpassade egenskaper
Testfallets egenskaper är tillgängliga inom testfallet. De är inte åtkomliga genom andra testfall eller till och med testpaket under projektet.
java array lägg till element till slut
Mer information om fastigheter med exempel
Egenskaper kan lagra slutpunkter, inloggningsinformation, rubrikinformation och domän etc. även om vi har diskuterat om att skriva och läsa data till / från fastigheterna, är vi ännu inte diskuterade detta ämne i detalj med exempel.
Ovan nämnda nivåer av egenskaper används i skript för att läsa data.
# 1. Läsegenskaper:
Vi kommer att titta på hur vi kan läsa egenskaper i groovy script. För att komma åt olika nivåegenskaper är följande syntax:
Projekt: Syntax: $ {# Projektnamn # Värde}
Exempel:
def pr ojectPro = testRunner.testC till se.testSuite.project.getPropertyValue
(“Project_Level_Property”)
“Project_Level_Property”)
log.info (projectPro)
Testpaket: Syntax: $ {# TestSuite # Value}
Exempel:
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Testfall: Syntax: $ {# TestCase # Value}
Exempel:
def testa casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Se skärmdumpen nedan:
# 2. Skriva till fastigheter:
För att göra detta måste vi använda setPropertyValue metod.
Syntax: setPropertyValue ('egenskapens namn', 'värde')
Om vi tilldelar värden till okända egenskaper kommer SoapUI att skapa dessa egenskaper nyligen. För befintliga fastigheter får värdena under uppdraget.
# 3. Ta bort egenskaper genom skript:
Detta kan göras genom att högerklicka på fastighetsnamnet från fastighetspanelen. Klicka sedan på alternativet Ta bort från snabbmenyn.
För att göra detta med skript för att ta bort anpassade egenskaper använder du följande uttalanden för projekt-, testsvit- eller testfallnivåer:
testRunner.testCase.testSuite.project.removeProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty (“Testcase_Property”);
Ovanstående skript är inte optimala när vi har flera egenskaper i varje nivå eftersom dessa steg måste upprepas flera gånger för varje egendom. Ett alternativ är att itera egenskaperna genom skriptet enligt nedan:
testRunner.testCase.properties.each
{
nyckel, värde ->
testRunner.testCase.removeProperty (nyckel)
}
Ovanstående skript upprepas till den sista egenskapen som är tillgänglig under testfallet. “ Nyckel 'Avser namnet på fastigheten där som' värde ”Anger egendomens faktiska värde. Vi kan ändra skriptet ovan för att ta bort listan över bulkegenskaper som finns på olika nivåer.
# 4. Lägg till egendom:
AddProperty metoden används för detta vars syntax är:
addProperty (fastighetsnamn);
Detta kan anpassas för varje nivå enligt nedan:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
Efter att ha utfört ovanstående skript klickar du på projektet / testsviten / testfallets namn. Kontrollera fliken Anpassade egenskaper i egenskapspanelen och den skapade egenskapen visas här. Se nedan för referens:
Använda fastigheter i tjänster
I det här avsnittet lär vi oss hur vi kan använda egenskaperna i tjänster och vi kommer att använda ovanstående skript för att lägga till, tilldela, hämta fastighetsdata med valutakonverterare webbtjänst.
Integrera egenskaper i tjänsten:
Låt oss börja lägga till teststeg enligt bilden nedan.
I ovanstående skärmdump innehåller teststeget AddProperties_Script följande skript som lägger till två egenskaper, t.ex. Property_FromCurrency och Property_ToCurrency .
// Lägg till egenskaper
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Tilldela värden till egenskaperna
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue ('Property_ToCurrency', 'INR')
I ServiceRequest_CurrencyConverter_1 innehåller begäran med inmatningsparametrar enligt nedan:
Tilldelade värden i egenskaperna överförs till dessa parametrar under körningen. Efter detta teststeg, GetResponseData_Script teststeget har skriptet som får svarvärdet och visar resultatet i loggen. Här är manuset.
// Få svardata från tjänsten
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = ny XmlSlurper (). parseText (svar)
String convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertValue)
När alla steg är klara dubbelklickar du på testsvitens namn och kör testsviten. Dubbelklicka sedan på ServiceRequest_CurrencyConverter_1 och se svarsavsnittet.
Det här är vad vi skulle hitta:
- Svar kommer att tas emot
- Öppna skriptloggen för att se de resulterande data som konverteras baserat på inmatningsparametrar
Så här kan vi skicka parametrarna till inmatningsbegäran och få svaret genom skriptet med hjälp av egenskaper. Om vi går vidare kan vi också skicka svarsvärdet till en annan tjänst som input.
Fastighetsöverföring
Teststeget för fastighetsöverföring överför egendata från en fastighet till en annan under körningen. Låt oss i korthet se hur vi kan skapa teststeg för fastighetsöverföring och hur fastighetsvärdet överförs mellan två fastigheter.
- Högerklicka på testfallets namn under testpaketet
- Klick Lägg till steg och klicka sedan på Egenskaper alternativ från snabbmenyn
- Upprepa stegen ovan för att skapa den andra egenskapen. Se skärmdumpen nedan:
- Nu måste vi lägga till teststeg för fastighetsöverföring.
- Högerklicka på testfallets namn och klicka på alternativet för egendomsöverföring från snabbmenyn
- Ange önskat fastighetsöverföringsnamn och klicka sedan på OK
- Klicka på Lägg till dvs plustecken i verktygsfältet för fastighetsöverföring
- Ange överföringsnamnet och klicka sedan på OK-knappen
- I den högra sidopanelen finns det två avsnitt tillgängliga: Källa och Mål.
Välj källan som Egenskaper och egendom som Property_Zipcode . Gör detsamma i målavsnittet. Välja Target_Property från fastigheten rullgardinsmenyn. När kör-ikonen kommer egendomsvärdet att överföras från Property_Zipcode till Target_Property .
(Klicka på bilden för förstorad vy)
Se det överförda värdet enligt bilden nedan.
Notera: Källegenskapen bör innehålla standardvärdet.
Utöver detta finns det många alternativ tillgängliga på skärmen för fastighetsöverföring.
- Misslyckad överföring vid fel
- Överför textinnehåll
- Överför till alla
- Tillåt överfört värde
- Ställ in Null på saknad källa
- Ignorera tomma / saknade värden
- Använd XQuery
- Överför barnnoder
Ladda egenskaper från extern källa:
Följ dessa steg för att ladda egenskaper från en extern källa.
- Lägg till Egenskaper teststeg under testfallet
- Ange egenskapens stegnamn och klicka sedan på OK
- Klicka på fliken Anpassade egenskaper i egenskapspanelen under navigeringspanelen
- Klick ikonen för att ladda egenskaperna från den externa egendomsfilen
Notera: Fastighetsfilen ska sparas eller finnas på din dator. Klicka på ikonen för att spara fastigheterna.
Gå sedan till respektive enhet och välj fastigheten enligt nedan:
På OK kan vi se de laddade egenskaperna och deras värden på fliken Anpassade egenskaper.
Slutsats
Det är egenskaper för oss!
Varje nivå fastigheter har sina egna egenskaper. Under din SoapUI-övning, försök att inkludera egenskaper när det är möjligt med teststeget för groovy script för att lägga till, ta bort, tilldela och hämta fastighetsdata. Detta är inte bara användbart när du tränar med tjänsterna utan också avgörande för verklig applikationstestning eftersom den här tekniken är till stor hjälp hävda dina testfall .
Att överföra egenskaper mellan teststegen är enklare än att skriva upprepade skript för att skapa nya. SoapUI ger också den underbara funktionen att importera och exportera fastigheter. Den här funktionen kommer att vara användbar när vi använder vanliga egenskaper som inloggningsinformation, sessionsdetaljer etc. för flera projekt. På så sätt behöver vi inte skapa samma egenskaper om och om igen för flera projekt. Vi kan helt enkelt ändra fastighetsvärdet mot fastigheterna baserat på projekten.
Nästa handledning # 9 : I nästa SoapUI-handledning lär vi oss Villkorliga uttalanden i Groovy som:
- Booleska uttalanden
- Iterationsuttalanden
- Arrayer i Groovy
Det är det för idag. Fortsätt läsa så ser vi dig i nästa handledning. Dela dina frågor, kommentarer och erfarenheter nedan.
Rekommenderad läsning
- Hur man använder egenskaper i SoapUI Groovy Script - SoapUI Tutorial # 7
- Hur man utför datadriven testning i SoapUI Pro - SoapUI-handledning nr 14
- 15+ SoapUI-självstudier: Det bästa testtjänstprogrammet för webbtjänster
- Hur man skriver Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Fördjupade förmörkningsövningar för nybörjare
- 7 Viktiga funktioner i SoapUI och SoapUI Pro - Handledning 2
- Förstå påståenden i SoapUI - SoapUI Tutorial # 5
- 4 Viktiga funktioner i SoapUI Pro för Pro Audience - SoapUI Tutorial # 12