how use properties soapui groovy script soapui tutorial 7
Eiendommer er det sentrale depotet for å lagre informasjonen vår midlertidig. Disse kan inneholde påloggingsinformasjon som brukernavn og passord, øktdata som økt-ID, sidekontekst, topptekstinformasjon og så videre.
Dette er den 7. opplæringen i vår SoapUI gratis online treningsserie .
La oss se hvordan du legger til eiendomstesttrinn, og så vil vi diskutere tildeling av verdier til eiendommen og vise dem i loggen.
Slik legger du til eiendommer i SoapUI:
Her er trinnene.
- Høyreklikk på noden Test trinn
- Klikk Legg til trinn og Eiendommer alternativ fra hurtigmenyen
- Skriv inn eiendomsnavnet etter ønske, og klikk OK
- Klikk på egenskapsskjermen
ikon for å legge til eiendom
- Skriv inn ønsket eiendomsnavn og klikk OK. La meg for eksempel gå inn Pro_Response
- Skriv inn en hvilken som helst standardverdi for eiendommen hvis du ønsker det. For eksempel skriver jeg inn 'Ingenting'
- Deretter legger du til en Groovy Script test trinn ved siden av eiendomstrinnet. Se skjermbilde nedenfor.
Vi kan overføre eiendomsdataene over testtrinnene under testutførelsen. For det, SÅPE Pro tilbyr test for trinnoverføring. Se på skjermbildet nedenfor.
I det groovy scriptet, legg til følgende script. Dette skriptet tilordner en strengtekst til eiendommen, og deretter vises den i loggen etter at testsaken er utført.
String testString = 'TestString' testRunner.testCase.setPropertyValue( 'Pro_Response', testString ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
- Når du har skrevet det ovennevnte skriptet i redigeringsprogrammet, dobbeltklikker du på trinnet i testsaken.
- Kjør testsaken ved å klikke på ikonet
og se resultatene i skriptloggfanen.
Tilgang til eiendom:
Det er flere måter å få tilgang til test case, test suite og prosjektegenskaper for å sette og få dataene sine gjennom skriptet. Her er eksemplene for å hente eiendomsdataene.
def getTestCasePropertyValue = testRunner.testCase.getPropertyValue( 'LocalPropertyName' ) def getTestSuitePropertyValue = testRunner.testCase.testSuite.getPropertyValue ( ' LocalPropertyName ' ) def getProjectPropertyValue = testRunner.testCase.testSuite.project.getPropertyValue ( ' LocalPropertyName ' )
For å få tilgang til en global eiendom, er dette skriptet:
def getGlobalPropertyValue = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue ( 'GlobalPropertyName' )
Disse skriptlinjene brukes til å sette verdien til den lokale og globale eiendommen.
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 manusene, testRunner er det vanlige objektet som kan være testsuiter, testtilfeller eller prosjekter. setPropertyValue og getPropertyValue er metodene eller funksjonene.
Som vi nevnte skriptet ovenfor, kan vi tilordne data til egenskapene.
testRunner.testCase.testSteps (“Properties”). setPropertyValue (“Pro_Response”, testString)
Etter å ha utført skriptet ovenfor, blir egenskapen oppdatert i egenskapstesttrinnet. Se følgende skjermbilde.
Motta svardata:
La oss nå diskutere hvordan du får svardataene gjennom skriptet. Å gjøre dette,
- Utfør serviceforespørselen en gang og bekreft resultatet
- Gå til Groovy script editor og høyreklikk deretter på editoren som vist på skjermbildet nedenfor
Nå genererer SoapUI Pro skriptet som nedenfor etter å ha spesifisert eiendomsnavnet.
def response = context.expand (‘$ {ServiceRequest # Response}’)
Som vi vet, ' def ”Er et groovy script-nøkkelord som representerer definerende egenskaper / objekter. Som standard har SoapUI Pro eiendomsnavnet som “ respons ”I Få eiendom popup. Hvis vi vil, kan vi endre dette navnet. Gjenværende deler av skriptet genereres automatisk.
La oss slå sammen skriptet ovenfor i vårt tidligere omtalte skript. Slik ser du:
def response = context.expand( '${ServiceRequest#Response}' ) testRunner.testCase.setPropertyValue( 'Pro_Response', response ) def getLocalPropValue = testRunner.testCase.getPropertyValue('Pro_Response') log.info(getLocalPropValue)
Hvis vi utfører ovennevnte skript hver for seg, vil det logge hele responsdataene i Logg seksjon. Selv når du utfører dette sammen med testsaken, vil den vise samme utdata i skriptlogg .
Opprette egenskaper fra navigasjonsruten:
minimum spennende tre c ++
Det er en annen måte å opprette eiendommer lokalt gjennom eiendomspanelet som vises når vi klikker på nodene under prosjekttreet. La oss se hvordan:
- Legg til valutakonverteringsforespørsel og et groovy script testtrinn under testserien ConversionTestSuite.
- Klikk på TestSuite navn under prosjektet (dvs. ConversionTestSuite )
- Nederst i navigasjonspanelet kan vi se et egenskapspanel. Den inneholder TestSuite Eiendommer og Egendefinerte egenskaper faner.
- Gå til Egendefinerte egenskaper ved å klikke på den
- Klikk deretter på pluss (+) ikonet for å legge til eiendommen som vist nedenfor:
- Skriv inn eiendomsnavnet og oppgi standard inngangsverdi som vist i skjermbildet ovenfor.
- Utfør nå forespørselen om valutaomregningstjenesten en gang. Først da kan vi få informasjon om eiendommen når vi høyreklikker på redigeringsprogrammet.
- Skriv inn følgende skript i redigeringsprogrammet
def getPropValue = context.testCase.NetSuite.getPropertyValue(“FromCurrencyValue”)
- Klikk på Løpe ikon
Dette skriptet får eiendomsverdien og tilordner variabelen “getProValue”. For å skrive ut verdien på eiendommen kan vi skrive følgende skript:
Log.info (getPropValue);
Globale eiendommer:
La oss nå diskutere globale eiendommer. Disse egenskapene er definert på ett sted, og vi kan få tilgang til dem på tvers av prosjektkomponentene som testpakke, testtilfelle, testtrinn etc.
Her er skriptene for å skrive data til de globale egenskapene.
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjFromCurrency', 'USD' ) com.eviware.soapui.SoapUI.globalProperties.setPropertyValue ( 'prjToCurrency', 'INR' )
Når vi har utført testtrinnsskriptet ovenfor, vil de nevnte egenskapene opprettes og de respektive verdiene vil bli tildelt disse egenskapene. La oss se hvordan vi kan bekrefte det.
- Klikk på Fil Meny
- Velg deretter Preferanser alternativ
- Klikk på på venstre side Globale eiendommer kategorien.
- Bekreft egenskapene i eiendomsarket på høyre side. Se skjermbildet nedenfor:
Konklusjon:
Egenskaper er nyttige for overføring av data mellom testtrinnene, for eksempel testpakker, testtrinn og testtilfeller. Eiendom kan defineres gjennom et groovy script. Vi kan også tilordne og hente data fra egenskapene gjennom skriptet. Og akkurat som andre testtrinn, kan vi gi nytt navn til eller slette eller deaktivere egenskapstesttrinnet ved å høyreklikke og deretter velge de respektive alternativene fra hurtigmenyen.
I neste opplæring , vil vi lære flere funksjoner om egenskaper som å sende egenskaper i inngangsforespørselen og hente fra globale eiendommer, testtrinn for eiendomsoverføring og så videre.
Vennligst vær hos oss og gi oss beskjed i tilfelle spørsmål eller kommentarer.
Anbefalt lesing
- Arbeide med SoapUI Properties - SoapUI Tutorial # 8
- Hvordan skrive Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Hvordan håndtere unntak i SoapUI Groovy Scripts - SoapUI Tutorial # 11
- Lær avanserte SoapUI Groovy Scripting Concepts - SoapUI Tutorial # 9
- Hvordan utføre datadrevet testing i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- In-Depth Eclipse Tutorials For Beginners
- 7 Viktige funksjoner i SoapUI og SoapUI Pro - Opplæring 2