how use properties soapui groovy script soapui tutorial 7
Fastigheter är det centrala förvaret för att lagra vår information tillfälligt. Dessa kan innehålla inloggningsinformation som användarnamn och lösenord, sessionsdata som session-id, sidkontext, rubrikinformation och så vidare.
Det här är den sjunde handledningen i vår SoapUI gratis onlineträningsserie .
Låt oss se hur man lägger till egenskapsteststeg och sedan kommer vi att diskutera tilldelning av värden till egenskapen och visa dem i loggen.
Så här lägger du till fastigheter i SoapUI:
Här är stegen.
app för att spionera på Android-telefon
- Högerklicka på noden Teststeg
- Klick Lägg till steg och Egenskaper alternativ från snabbmenyn
- Ange egendomsnamnet efter önskemål och klicka på OK
- Klicka på Egenskapsskärmen ikon för att lägga till egendom
- Ange önskat fastighetsnamn och klicka på OK-knappen. Låt mig till exempel komma in Pro_Response
- Skriv ett standardvärde för fastigheten om du vill. Till exempel skriver jag ”Ingenting”
- Lägg sedan till en Groovy Script teststeg bredvid fastighetssteget. Se skärmdump nedan.
Vi kan överföra egendomsdata över teststegen under testkörningen. För det, TVÅL Pro tillhandahåller teststeg för fastighetsöverföring. Titta på skärmdumpen nedan.
Lägg till följande manus i det groovy-skriptet. Detta skript tilldelar en strängtext till egenskapen och kommer sedan att visas i loggen efter att testfallet har körts.
String testString = 'TestString' testRunner.testCase.setPropertyValue( 'Pro_Response', testString ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
- När du väl har skrivit ovanstående skript i redigeraren dubbelklickar du på testfallets namnsteg.
- Kör testfallet genom att klicka på ikonen och se resultaten i fliken skriptlogg.
Åtkomst till fastigheten:
Det finns flera sätt att komma åt testfall, testsvit och projektegenskaper för att ställa in och få deras data genom skriptet. Här är exemplen för att hämta fastighetsdata.
def getTestCasePropertyValue = testRunner.testCase.getPropertyValue( 'LocalPropertyName' ) def getTestSuitePropertyValue = testRunner.testCase.testSuite.getPropertyValue ( ' LocalPropertyName ' ) def getProjectPropertyValue = testRunner.testCase.testSuite.project.getPropertyValue ( ' LocalPropertyName ' )
För att komma åt en global egendom är detta skriptet:
def getGlobalPropertyValue = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue ( 'GlobalPropertyName' )
Dessa skriptrader används för att ställa in värdet på den lokala och globala egendomen.
testRunner.testCase.setPropertyValue( ' LocalPropertyName ', someValue ) testRunner.testCase.testSuite.setPropertyValue( ' LocalPropertyName ', someValue ) testRunner.testCase.testSuite.project.setPropertyValue( ' LocalPropertyName ', someValue ) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( ' GlobalPropertyName ', someValue )
Här i dessa manus, testRunner är det vanliga föremålet som kan vara testsviter, testfall eller projekt. setPropertyValue och getPropertyValue är metoderna eller funktionerna.
Som vi nämnde ovanstående skript kan vi tilldela data till egenskaperna.
testRunner.testCase.testSteps ('Egenskaper'). setPropertyValue ('Pro_Response', testString)
Efter att ovanstående skript har körts uppdateras egenskapen i egenskapsteststeget. Se följande skärmdump.
Ta emot svarsdata:
Låt oss nu diskutera hur man får svarsdata genom skriptet. Att göra detta,
- Utför servicebegäran en gång och verifiera resultatet
- Gå till Groovy-skriptredigeraren och högerklicka sedan på redigeraren enligt bilden nedan
Nu genererar SoapUI Pro manuset enligt nedan efter att ha angett fastighetsnamnet.
def response = context.expand ('$ {ServiceRequest # Response}')
Som vi vet, ' def ”Är ett groovy script-nyckelord som representerar definierande egenskaper / objekt. Som standard har SoapUI Pro egendomsnamnet som “ svar ”I Skaffa egendom dyka upp. Om vi vill kan vi ändra det här namnet. Återstående delar av skriptet genereras automatiskt.
Låt oss slå samman ovanstående skript i vårt tidigare diskuterade manus. Här är vad du skulle se:
def response = context.expand( '${ServiceRequest#Response}' ) testRunner.testCase.setPropertyValue( 'Pro_Response', response ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
Om vi utför ovanstående skript separat loggar det hela svarsdata i logga sektion. Även när du utför detta tillsammans med testfallet kommer det att visa samma utdata i skriptlogg .
Skapa egenskaper från navigeringsfönstret:
Det finns ett annat sätt att skapa egenskaper lokalt genom egenskapspanelen som kommer att visas när vi klickar på noder under projektträdet. Låt oss se hur:
- Lägg till valutakonverterare tjänsteförfrågan och ett groovy script teststeg under testsviten ConversionTestSuite.
- Klicka på Test svit namn under projektet (dvs. ConversionTestSuite )
- Längst ner på navigeringspanelen kan vi se en egenskapspanel. Den innehåller TestSuite Egenskaper och Anpassade egenskaper flikar.
- Gå till Anpassade egenskaper genom att klicka på den
- Klicka sedan på plusikonen (+) för att lägga till egenskapen enligt nedan:
- Ange egendomsnamn och ange standardinmatningsvärde enligt bilden ovan.
- Kör nu valutaomvandlarens tjänsteförfrågan en gång. Först då kan vi få fastighetsinformationen när vi högerklickar på redigeraren.
- Ange följande skript i redigeraren
def getPropValue = context.testCase.NetSuite.getPropertyValue(“FromCurrencyValue”)
- Klicka på Springa ikon
Detta skript får egenskapens värde och tilldelar variabeln 'getProValue'. För att skriva ut värdet på egenskapen kan vi skriva följande skript:
Log.info (getPropValue);
Globala fastigheter:
dubbelt länkad lista i c ++
Låt oss nu diskutera globala fastigheter. Dessa egenskaper definieras på ett ställe och vi kan komma åt dem över projektkomponenterna som testsvit, testfall, teststeg etc.
Här är skript för att skriva data till de globala fastigheterna.
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjFromCurrency', 'USD' ) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjToCurrency', 'INR' )
När vi har utfört ovanstående teststegsskript skapas de nämnda egenskaperna och respektive värden tilldelas dessa egenskaper. Låt oss se hur vi kan verifiera det.
- Klicka på Fil meny
- Sedan Välj Inställningar alternativ
- Klicka på på vänster sida Globala fastigheter flik.
- Verifiera egenskaperna i fastighetsbladet på höger sida. Se skärmdumpen nedan:
Slutsats:
Egenskaper är användbara för att överföra data mellan teststegen, t.ex. testsviter, teststeg och testfall. Egendom kan definieras med ett groovy script. Vi kan också tilldela och hämta data om egenskaperna genom skriptet. Och precis som andra teststeg kan vi byta namn på eller ta bort eller inaktivera fastighetsteststeget genom att högerklicka och sedan välja respektive alternativ från snabbmenyn.
I nästa handledning , kommer vi att lära oss fler funktioner om egenskaper som att skicka egenskaper i inmatningsbegäran och hämta från globala egenskaper, teststeg för fastighetsöverföring och så vidare.
Vänligen stanna hos oss och meddela oss vid frågor eller kommentarer.
Rekommenderad läsning
- Arbeta med SoapUI Properties - SoapUI Tutorial # 8
- Hur man skriver Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Hur man hanterar undantag i SoapUI Groovy Scripts - SoapUI-handledning # 11
- Lär dig avancerade SoapUI Groovy Scripting Concepts - SoapUI Tutorial # 9
- Hur man utför datadriven testning i SoapUI Pro - SoapUI-handledning nr 14
- 15+ SoapUI-handledning: Det bästa testtjänstprogrammet för webbtjänster
- Fördjupade förklaringar om förmörkelser för nybörjare
- 7 Viktiga funktioner i SoapUI och SoapUI Pro - Handledning 2