working with soapui properties soapui tutorial 8
Denne opplæringen handler om SoapUI-egenskaper. I den siste SoapUI-opplæringen vi så hvordan du legger til egenskaper i Groovy-skript .
En eiendom i SÅPE ligner en variabel / parameter, og i denne opplæringen vil vi snakke om hvordan du bruker en i en tjenesteforespørsel og tilordne svarverdi til den gjennom skripting. Senere vil vi gå videre til teststrinn for eiendomsoverføring og deretter importere eiendommer.
Dette er den 8. opplæringen i vår SoapUI online trening serie.
Hva vil du lære av denne SoapUI-opplæringen?
- Ulike ansikter av egenskaper
- Integrering av eiendommer i serviceforespørsel
- Forstå Teststeg for eiendomsoverføring
- Last egenskaper eksternt
Det er totyper eiendommer i SoapUI:
- Standardegenskaper : inkludert i SoapUI-installasjonen. Vi kan redigere noen av standardegenskapene, men ikke alle.
- Egendefinerte / brukerdefinerte egenskaper : Disse defineres av oss på ethvert nivå som er nødvendig, for eksempel global, prosjekt, testpakke, testtilfelle eller testtrinn.
Oftest er eiendommer vant til lagre og hente dataene mens du gjennomfører testsakene. Intern eiendom vil lagre verdien i nøkkelparformat.
For eksempel , i utsagnet nedenfor, er 'Local_Property_FromCurrency' et nøkkelnavn og 'USD' refererer til verdi. For å få tilgang til eiendomsverdien, må vi bruke eiendomsnavnet.
testRunner.testCase.testSteps (“Properties”). setPropertyValue
(' Local_Property_FromCurrency ', ‘USD’ )
Hva du vil lære:
- Ulike eiendomsnivåer i SoapUI Pro
- Flere detaljer om eiendommer med eksempler
- Bruke eiendommer i tjenester
- Eiendomsoverføring
- Konklusjon
- Anbefalt lesing
Ulike eiendomsnivåer i SoapUI Pro
La oss diskutere de forskjellige eiendomsnivåene i SoapUI Pro. I SoapUI er det tre nivåer av eiendommer tilgjengelig.
Nivå 1. Prosjekt og egendefinerte egenskaper
I dette nivået er eiendommer delt inn i to seksjoner. De er prosjektegenskaper og egendefinerte egenskaper. Disse vises nederst på navigatorpanelet når vi klikker på prosjektnavnet. Prosjektegenskaper har standardegenskaper som opprettes under prosjektopprettelsen, for eksempel navn, beskrivelse, fil etc.
For å lage våre egne egenskaper, kan vi bruke fanen Egendefinerte egenskaper. Klikk på pluss-ikonet for å lage egenskaper:
Det er mange andre tilgjengelige alternativer, for eksempel fjerne, flytte opp, flytte ned og sortere ved siden av å legge til. Et hvilket som helst antall egendefinerte egenskaper kan legges til og brukes av alle seksjoner (testpakke, testtilfeller) i prosjektet.
Nivå 2. Test Suite og egendefinerte egenskaper
Disse egenskapene er bare synlige under testpakken. En testpakke kan inneholde et hvilket som helst antall egenskaper, og de kan nås fra alle teststrinn som tilhører nevnte testpakke.
Testpakkeegenskaper vises når du klikker på det respektive testpakke navnet under prosjektet. For å legge til egendefinerte egenskaper etter behov, klikk på fanen Egendefinerte egenskaper og klikk på '+' - tegnet under den.
Eiendom nr. 3. Test tilfelle og egendefinerte egenskaper
Test case egenskaper er tilgjengelige i test case. De er ikke tilgjengelige med andre testtilfeller eller til og med testserier under prosjektet.
hvordan å rippe DVD gratis
Flere detaljer om eiendommer med eksempler
Egenskaper kan lagre sluttpunkter, påloggingsdetaljer, topptekstinformasjon og domene osv., Selv om vi har diskutert om å skrive og lese data til / fra egenskapene, er vi ennå ikke til å diskutere dette emnet i detaljer med eksempel.
Ovennevnte nivåer av egenskaper brukes i skripting for å lese dataene.
#1. Leseegenskaper:
Vi vil se på hvordan vi kan lese egenskaper i groovy script. For å få tilgang til forskjellige nivåegenskaper er følgende syntaksen:
Prosjekt: Syntaks: $ {# Prosjektnavn # Verdi}
Eksempel:
def pr ojectPro = testRunner.testC til se.testSuite.project.getPropertyValue
(“Project_Level_Property”)
“Project_Level_Property”)
log.info (projectPro)
Test suite: Syntaks: $ {# TestSuite # Value}
Eksempel:
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Test case: Syntaks: $ {# TestCase # Value}
Eksempel:
def test casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Se skjermbildet nedenfor:
# 2. Skrive til eiendommer:
For å gjøre dette må vi bruke setPropertyValue metode.
Syntaks: setPropertyValue ('eiendomsnavn', 'verdi')
Hvis vi tilordner verdier til ukjente egenskaper, vil SoapUI opprette disse egenskapene nylig. For eksisterende eiendommer vil motta verdiene under oppgaven.
# 3. Fjerne egenskaper gjennom skript:
Dette kan gjøres ved å høyreklikke på eiendomsnavnet fra eiendomspanelet. Klikk deretter på Fjern-alternativet fra hurtigmenyen.
For å gjøre dette ved å bruke skript for å fjerne de egendefinerte egenskapene, bruk følgende utsagn for henholdsvis prosjekt-, testserie- eller testtilfelle:
testRunner.testCase.testSuite.project.remProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty (“Testcase_Property”);
Ovennevnte skript er ikke optimale når vi har flere egenskaper i hvert nivå, da disse trinnene må gjentas flere ganger for hver eiendom. Et alternativ er å gjenskape egenskapene gjennom skriptet som nedenfor:
testRunner.testCase.properties.each
{
nøkkel, verdi ->
testRunner.testCase.removeProperty (nøkkel)
}
Ovenstående skript vil gjenta til den siste egenskapen som er tilgjengelig under testsaken. “ Nøkkel ”Refererer til navnet på eiendommen der som“ verdi ”Angir den faktiske verdien av eiendommen. Vi kan endre skriptet ovenfor for å fjerne listen over bulkegenskaper på forskjellige nivåer.
# 4. Legg til eiendom:
AddProperty metoden brukes for dette hvis syntaks er:
addProperty (eiendomsnavn);
Dette kan tilpasses hvert nivå som nedenfor:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
Etter å ha utført de ovennevnte skriptene, klikker du på prosjektet / testpakken / testsaksnavnet. Merk av for egendefinerte egenskaper i egenskapspanelet, og den opprettede eiendommen vises her. Se nedenfor for referanse:
Bruke eiendommer i tjenester
I denne delen vil vi lære hvordan vi kan bruke egenskapene i tjenester, og vi skal bruke de ovennevnte skriptene for å legge til, tilordne, hente inn eiendomsdata med valutakonverteringstjeneste.
Integrering av egenskaper i tjenesten:
La oss begynne å legge til testtrinn som vist i skjermbildet nedenfor.
I skjermbildet ovenfor inneholder AddProperties_Script teststrinn følgende skript som legger til to egenskaper som f.eks Property_FromCurrency og Property_ToCurrency .
// Legg til egenskaper
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Tilordne verdier til egenskapene
testRunner.testCase.setPropertyValue (‘Property_FromCurrency’, ‘USD’)
testRunner.testCase.setPropertyValue (‘Property_ToCurrency’, ‘INR’)
I ServiceRequest_CurrencyConverter_1 inneholder forespørselen med inndataparametere som vist nedenfor:
Tildelte verdier i egenskapene vil bli overført til disse parametrene under utførelsen. Etter dette teststrinnet, GetResponseData_Script testtrinn har skriptet som vil få svarverdien og vise resultatet i loggen. Her er manuset.
// Få svardata fra tjenesten
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = ny XmlSlurper (). parseText (respons)
Streng convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertValue)
Når alle trinnene er klare, dobbeltklikker du på navnet på testpakken og kjører testpakken. Dobbeltklikk deretter på ServiceRequest_CurrencyConverter_1 og se svarseksjonen.
Dette er hva vi vil finne:
- Svar vil bli mottatt
- Åpne skriptloggen for å se de resulterende dataene som konverteres basert på inndataparametere
Slik kan vi overføre parametrene til inngangsforespørselen og få svaret gjennom skriptet ved hjelp av egenskaper. Hvis du går videre kan vi også overføre svarverdien til en annen tjeneste som input.
Eiendomsoverføring
Eiendomsoverføringstesttrinnet overfører eiendomsdataene fra en eiendom til en annen under utførelsen. La oss se kort hvordan vi kan opprette teststrinn for eiendomsoverføring og hvordan eiendomsverdien overføres mellom to eiendommer.
- Høyreklikk på navnet på testsaken under testpakken
- Klikk Legg til trinn og klikk deretter Eiendommer alternativ fra hurtigmenyen
- Gjenta trinnene ovenfor for å opprette den andre egenskapen. Se skjermbildet nedenfor:
- Nå må vi legge til eiendomstransport test trinn.
- Høyreklikk på navnet på prøvesaken, og klikk alternativet for eiendomsoverføring fra hurtigmenyen
- Skriv inn ønsket navn på eiendomsoverføring, og klikk deretter OK
- Klikk på Legg til, dvs. pluss tegn i verktøylinjen for overføring av eiendom
- Spesifiser overføringsnavnet, og klikk deretter OK-knappen
- I høyre sidepanel er det to seksjoner tilgjengelig: Kilde og Mål.
Velg kilden som Eiendommer og eiendom som Property_Postnummer . Gjør det samme i måldelen. Velge Mål_Eiendom fra eiendommen drop down. Når kjøreikonet overføres eiendomsverdien fra Property_Postnummer til Mål_Eiendom .
(Klikk på bildet for forstørret visning)
Se den overførte verdien som vist i skjermbildet nedenfor.
Merk: Kildeegenskapen skal inneholde standardverdien.
I tillegg til dette er det mange alternativer tilgjengelig på eiendomsoverføringsskjermen.
- Mislykket overføring ved feil
- Overfør tekstinnhold
- Overfør til alle
- Tillat overført verdi (r)
- Sett Null på Manglende kilde
- Ignorer tomme / manglende verdier
- Bruk XQuery
- Overfør barnekoder
Last inn egenskaper fra ekstern kilde:
Følg disse trinnene for å laste inn egenskaper fra en ekstern kilde.
- Legg til testegenskaper under Egenskaper
- Skriv inn egenskapens trinnnavn og klikk deretter OK
- I egenskapspanelet under navigasjonspanelet klikker du kategorien Egendefinerte egenskaper
- Klikk
ikonet for å laste inn egenskapene fra den eksterne eiendomsfilen
Merk: Eiendomsfilen skal lagres eller være på datamaskinen. Klikk på ikonet for å lagre eiendommene.
Gå deretter til den respektive stasjonen og velg eiendommen som vist nedenfor:
På OK kan vi se de innlastede egenskapene og deres verdier i kategorien Egendefinerte egenskaper.
Konklusjon
Vel, det er egenskaper for oss!
Hvert nivå egenskaper har sine egne egenskaper. I løpet av din SoapUI-praksis kan du prøve å inkludere egenskaper når det er mulig med det groovy script-trinnet for å legge til, fjerne, tilordne og hente inn eiendomsdata. Dette er ikke bare nyttig når du trener med tjenestene, men også viktig for ekte applikasjonstesting, siden denne teknikken er veldig nyttig for hevde testsakene dine .
Det er lettere å overføre egenskaper mellom testtrinnene enn å skrive gjentatte skript for å lage nye. SoapUI gir også den fantastiske funksjonen for å importere og eksportere eiendommer. Denne funksjonen vil være nyttig når vi bruker vanlige egenskaper som påloggingsdetaljer, sesjonsdetaljer osv., For flere prosjekter. På den måten trenger vi ikke lage de samme egenskapene igjen og igjen for flere prosjekter. Vi kan ganske enkelt endre eiendomsverdien mot eiendommene basert på prosjektene.
Neste opplæring # 9 : I neste SoapUI-opplæring vil vi lære Betingede uttalelser i Groovy som:
- Boolske uttalelser
- Iterasjonserklæringer
- Arrays i Groovy
Det er det for i dag. Fortsett å lese, så ser vi deg i neste opplæring. Vennligst del dine spørsmål, kommentarer og erfaringer nedenfor.
Anbefalt lesing
- Hvordan bruke egenskaper i SoapUI Groovy Script - SoapUI Tutorial # 7
- Hvordan utføre datadrevet testing i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: The Best Web Services API Testing Tool
- Hvordan skrive Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- In-Depth Eclipse Tutorials For Beginners
- 7 Viktige funksjoner i SoapUI og SoapUI Pro - Opplæring 2
- Forstå påstander i SoapUI - SoapUI Tutorial # 5
- 4 Viktige funksjoner i SoapUI Pro for Pro Audience - SoapUI Tutorial # 12