how use properties soapui groovy script soapui tutorial 7
Ejendomme er det centrale lager for midlertidigt at gemme vores oplysninger. Disse kan indeholde loginoplysninger som brugernavn og adgangskode, sessionsdata som session-id, sidekontekst, headeroplysninger og så videre.
Dette er den 7. tutorial i vores SoapUI gratis online træningsserie .
Lad os se, hvordan du tilføjer egenskabstesttrin, og så vil vi diskutere tildeling af værdier til ejendommen og vise dem i loggen.
Sådan tilføjes egenskaber i SoapUI:
Her er trinene.
selen interview spørgsmål og svar i 4 års erfaring
- Højreklik på noden Test trin
- Klik på Tilføj trin og Ejendomme indstilling fra genvejsmenuen
- Indtast ejendomsnavnet som ønsket, og klik på OK
- Klik på egenskabsskærmen
ikon for at tilføje ejendom
- Indtast det ønskede ejendomsnavn, og klik på OK-knappen. Lad mig f.eks. Gå ind Pro_Response
- Indtast enhver standardværdi for ejendommen, hvis du ønsker det. For eksempel indtaster jeg 'Intet'
- Tilføj derefter en Groovy Script testtrin ved siden af egenskabstrinnet. Se skærmbillede nedenfor.
Vi kan overføre ejendomsdataene på tværs af testtrinene under testudførelsen. For det, SÆBE Pro leverer testtrin til ejendomsoverførsel. Se på nedenstående skærmbillede.
I det groovy script skal du tilføje følgende script. Dette script tildeler en strengtekst til ejendommen, og derefter vises den i loggen efter udførelse af testsagen.
String testString = 'TestString' testRunner.testCase.setPropertyValue( 'Pro_Response', testString ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
- Når du har skrevet ovenstående script i editoren, skal du dobbeltklikke på testsagens navnetrin.
- Kør testkassen ved at klikke på ikonet
og se resultaterne i fanen scriptlog.
Adgang til ejendom:
Der er flere måder at få adgang til test case, test suite og projektegenskaber til at indstille og få deres data gennem scriptet. Her er eksemplerne til at hente ejendomsdataene.
def getTestCasePropertyValue = testRunner.testCase.getPropertyValue( 'LocalPropertyName' ) def getTestSuitePropertyValue = testRunner.testCase.testSuite.getPropertyValue ( ' LocalPropertyName ' ) def getProjectPropertyValue = testRunner.testCase.testSuite.project.getPropertyValue ( ' LocalPropertyName ' )
For at få adgang til en global ejendom er dette scriptet:
def getGlobalPropertyValue = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue ( 'GlobalPropertyName' )
Disse scriptlinjer bruges til at indstille værdien til den lokale og globale ejendom.
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 )
Her i disse manuskripter, testRunner er det almindelige objekt, der kan være testsuiter, testcases eller projekt. setPropertyValue og getPropertyValue er metoderne eller funktionerne.
Som vi nævnte ovenstående script, kan vi tildele data til egenskaberne.
testRunner.testCase.testSteps(“Properties”).setPropertyValue( “Pro_Response”, testString )
Efter udførelsen af ovenstående script opdateres ejendommen i ejendomstesttrinet. Se følgende skærmbillede.
Modtagelse af svardata:
Lad os nu diskutere, hvordan man får svardata gennem scriptet. At gøre dette,
- Udfør serviceanmodningen en gang og bekræft resultatet
- Gå til Groovy script-editor, og højreklik derefter på editoren som vist i nedenstående skærmbillede
Nu genererer SoapUI Pro scriptet som nedenfor efter at have specificeret ejendomsnavnet.
def respons = context.expand ('$ {ServiceRequest # Response}')
Som vi ved, ' def ”Er et groovy script-nøgleord, der repræsenterer definerende egenskaber / objekter. Som standard har SoapUI Pro ejendomsnavnet som “ respons ”I Få ejendom pop op. Hvis vi vil, kan vi ændre dette navn. De resterende dele af scriptet genereres automatisk.
Lad os fusionere ovenstående script i vores tidligere diskuterede script. Her er hvad du ville se:
def response = context.expand( '${ServiceRequest#Response}' ) testRunner.testCase.setPropertyValue( 'Pro_Response', response ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
Hvis vi udfører ovenstående script separat, logger det hele svardataene i log afsnit. Selv når du udfører dette sammen med testkassen, viser det samme output i script log .
Oprettelse af egenskaber fra navigatorruden:
Der er en anden måde at oprette ejendomme lokalt gennem egenskabspanelet, som vises, når vi klikker på noderne under projekttræet. Lad os se hvordan:
- Tilføj anmodning om valutakonvertererservice og et groovt script-teststrin under testpakken ConversionTestSuite.
- Klik på TestSuite navn under projektet (dvs. ConversionTestSuite )
- Nederst i navigationspanelet kan vi se et egenskabspanel. Den indeholder TestSuite Ejendomme og Brugerdefinerede egenskaber faner.
- Gå til Brugerdefinerede egenskaber fanen ved at klikke på den
- Klik derefter på plus (+) ikonet for at tilføje ejendommen som vist nedenfor:
- Indtast ejendomsnavn og angiv standard inputværdi som vist i ovenstående skærmbillede.
- Udfør nu anmodningen om valutaomregningstjeneste en gang. Først da kan vi få ejendomsoplysningerne, når vi højreklikker på editoren.
- Indtast følgende script i editoren
def getPropValue = context.testCase.NetSuite.getPropertyValue(“FromCurrencyValue”)
- Klik på Løb ikon
Dette script får egenskabsværdien og tildeler variablen “getProValue”. For at udskrive ejendommens værdi kan vi skrive følgende script:
Log.info (getPropValue);
Globale egenskaber:
hvordan man åbner en .jar-fil på Windows 10
Lad os nu diskutere globale ejendomme. Disse egenskaber er defineret ét sted, og vi kan få adgang til dem på tværs af projektkomponenterne som testpakke, testkasse, testtrin osv.
Her er scripts til at skrive data til de globale egenskaber.
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjFromCurrency', 'USD' ) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjToCurrency', 'INR' )
Når vi har udført ovenstående testtrinscript, oprettes de nævnte egenskaber, og de respektive værdier tildeles disse egenskaber. Lad os se, hvordan vi kan verificere det.
- Klik på Fil menu
- Vælg derefter Præferencer mulighed
- Klik på på venstre side Globale ejendomme fanen.
- Kontroller egenskaberne i ejendomsarket på højre side. Se skærmbilledet nedenfor:
Konklusion:
Egenskaber er nyttige til overførsel af data mellem testtrinnene, f.eks. Testpakker, testtrin og testcases. Ejendom kan defineres ved hjælp af et groovy script. Vi kan også tildele og hente data om egenskaberne gennem scriptet. Og ligesom andre testtrin kan vi omdøbe eller slette eller deaktivere egenskabstesttrinet ved at højreklikke og derefter vælge de respektive indstillinger i genvejsmenuen.
I næste tutorial , vil vi lære flere funktioner om egenskaber som videregivelse af egenskaber i inputanmodningen og hente fra globale egenskaber, ejendomsoverførselstesttrin og så videre.
Bliv hos os og lad os vide det i tilfælde af spørgsmål eller kommentarer.
Anbefalet læsning
- Arbejde med SoapUI Properties - SoapUI Tutorial # 8
- Sådan skriver du Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Sådan håndteres undtagelser i SoapUI Groovy Scripts - SoapUI Tutorial # 11
- Lær avancerede SoapUI Groovy Scripting-koncepter - SoapUI Tutorial # 9
- Sådan udføres datadrevet test i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: Det bedste testtestværktøj til webtjenester API
- Dybdegående formørkelsesvejledninger til begyndere
- 7 Vigtige funktioner i SoapUI og SoapUI Pro - Tutorial 2