working with soapui properties soapui tutorial 8
Denne tutorial handler om SoapUI egenskaber. I sidste SoapUI-tutorial, vi så hvordan man tilføjer egenskaber i Groovy-script .
En ejendom i SÆBE ligner en variabel / parameter og i denne vejledning vil vi tale om, hvordan man bruger en i en serviceanmodning og tildeler svarværdi til den gennem scripting. Senere vil vi gå videre til testtrin for ejendomsoverførsel og derefter importere egenskaber.
Dette er den 8. tutorial i vores SoapUI online træning serie.
Hvad vil du lære af denne SoapUI-tutorial?
- Forskellige ansigter over egenskaber
- Integrering af ejendomme i serviceanmodning
- Forståelse af ejendomsoverførselstest
- Indlæs egenskaber eksternt
Der er totyper ejendomme i SoapUI:
- Standardegenskaber : inkluderet i SoapUI-installationen. Vi kan redigere nogle af standardegenskaberne, men ikke alle.
- Brugerdefinerede / brugerdefinerede egenskaber : Disse defineres af os på ethvert niveau, der er nødvendigt, såsom global, projekt, testserie, testtilfælde eller testtrin.
Oftest er ejendomme vant til gemme og hente dataene under udførelsen af testsagerne. Intern ejendom gemmer værdien i nøgleparformat.
For eksempel , i nedenstående udsagn er 'Local_Property_FromCurrency' et nøglenavn, og 'USD' refererer til værdi. For at få adgang til ejendomsværdien skal vi bruge ejendomsnavnet.
testRunner.testCase.testSteps(“Properties”).setPropertyValue
(' Local_Property_FromCurrency ', 'USD' )
Hvad du vil lære:
- Forskellige egenskabsniveauer i SoapUI Pro
- Flere detaljer om ejendomme med eksempler
- Brug af ejendomme i tjenester
- Ejendomsoverførsel
- Konklusion
- Anbefalet læsning
Forskellige egenskabsniveauer i SoapUI Pro
Lad os diskutere de forskellige egenskabsniveauer i SoapUI Pro. I SoapUI er der tre niveauer af ejendomme til rådighed.
Niveau 1. Projekt- og brugerdefinerede egenskaber
I dette niveau er ejendomme opdelt i to sektioner. De er projektegenskaber og brugerdefinerede egenskaber. Disse vises nederst i navigationspanelet, når vi klikker på projektnavnet. Projektegenskabssektionen har standardegenskaber, der oprettes under projektoprettelsen, f.eks. Navn, beskrivelse, fil osv.
For at oprette vores egne egenskaber kan vi bruge fanen tilpassede egenskaber. Klik på plusikonet for at oprette egenskaber:
Der er mange andre muligheder tilgængelige, såsom fjern, flyt op, flyt ned og sortering ved siden af tilføj. Et hvilket som helst antal brugerdefinerede egenskaber kan tilføjes og bruges af alle sektioner (testpakke, testcases) inden for projektet.
Niveau 2. Test Suite og brugerdefinerede egenskaber
Disse egenskaber er kun synlige under testpakken. En testpakke kan indeholde et hvilket som helst antal egenskaber, og de kan tilgås fra ethvert testtrin, der hører til den nævnte testpakke.
Test suite egenskaber vises, når der klikkes på det respektive test suite navn under projektet. For at tilføje tilpassede egenskaber efter behov skal du klikke på fanen tilpassede egenskaber og klikke på '+' - tegnet under det.
Ejendom nr. 3. Test sag og brugerdefinerede egenskaber
Test case egenskaber er tilgængelige i test case. De er ikke tilgængelige via andre testtilfældetrin eller endda testpakker under projektet.
hvordan man sammenligner filer i linux
Flere detaljer om ejendomme med eksempler
Egenskaber kan gemme slutpunkter, loginoplysninger, headeroplysninger og domæne osv., Selvom vi har diskuteret om at skrive og læse data til / fra egenskaberne, er vi endnu ikke til at diskutere dette emne i detaljer med eksempel.
Ovenstående diskuterede niveauer af egenskaber bruges i scripting til at læse dataene.
# 1. Læseegenskaber:
Vi vil se på, hvordan vi kan læse egenskaber i groovy script. For at få adgang til forskellige niveauegenskaber er følgende syntaksen:
Projekt: Syntaks: $ {# Projektnavn # Værdi}
Eksempel:
def pr ojectPro = testRunner.testC til se.testSuite.project.getPropertyValue
(“Project_Level_Property”)
“Project_Level_Property”)
log.info (projectPro)
Test suite: Syntaks: $ {# TestSuite # værdi}
Eksempel:
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Test sag: Syntaks: $ {# TestCase # Value}
Eksempel:
def prøve casePro = testRunner.testCase.getPropertyValue(‘Testcase_Property’)
log.info (testcasePro)
Se skærmbilledet nedenfor:
# 2. Skrivning til egenskaber:
For at gøre dette skal vi bruge setPropertyValue metode.
Syntaks: setPropertyValue ('ejendomsnavn', 'værdi')
Hvis vi tildeler værdier til ukendte egenskaber, opretter SoapUI disse egenskaber for nylig. For eksisterende ejendomme modtager værdierne under tildelingen.
# 3. Fjernelse af egenskaber gennem script:
Dette kan gøres ved at højreklikke på ejendomsnavnet fra ejendomspanelet. Klik derefter på indstillingen Fjern fra genvejsmenuen.
For at gøre dette ved hjælp af script til fjernelse af de brugerdefinerede egenskaber, skal du bruge følgende udsagn til henholdsvis projekt-, testserie- eller testcase-niveau:
testRunner.testCase.testSuite.project.remProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty( “Testcase_Property” );
Ovenstående scripts er ikke optimale, når vi har flere egenskaber i hvert niveau, da disse trin skal gentages flere gange for hver ejendom. Et alternativ er at gentage egenskaberne gennem scriptet som nedenfor:
testRunner.testCase.properties.each
{
nøgle, værdi ->
testRunner.testCase.removeProperty(key)
}
Ovenstående script gentages indtil den sidste egenskab, der er tilgængelig under testsagen. “ Nøgle ”Henviser navnet på ejendommen hvor som“ værdi ”Angiver ejendommens faktiske værdi. Vi kan ændre ovenstående script for at fjerne listen over bulkegenskaber, der findes på forskellige niveauer.
# 4. Tilføj ejendom:
Tilføj ejendom metode bruges til dette, hvis syntaks er:
addProperty (ejendomsnavn);
Dette kan tilpasses til hvert niveau som nedenfor:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty(‘TestcaseProperty1’)
Efter udførelse af ovenstående scripts skal du klikke på projektet / testpakken / testsagenavnet. Kontroller fanen Tilpassede egenskaber i egenskabspanelet, og den oprettede ejendom vises her. Se nedenfor for reference:
Brug af ejendomme i tjenester
I dette afsnit lærer vi, hvordan vi kan bruge egenskaberne i tjenester, og vi vil bruge ovenstående scripts til at tilføje, tildele, hente ejendomsdata med valutaomregnerens webtjeneste.
Integrering af egenskaber i service:
Lad os begynde at tilføje testtrin som vist i nedenstående skærmbillede.
I ovenstående skærmbillede indeholder testprocessen AddProperties_Script følgende script, der tilføjer to egenskaber som f.eks Property_FromCurrency og Property_ToCurrency .
// Tilføj egenskaber
testRunner.testCase.addProperty(‘Property_FromCurrency’)
testRunner.testCase.addProperty(‘Property_ToCurrency’)
// Tildel værdier til egenskaberne
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue(‘Property_ToCurrency’,’INR’)
I ServiceRequest_CurrencyConverter_1 indeholder anmodningen med inputparametre som vist nedenfor:
Tildelte værdier i egenskaberne overføres til disse parametre under udførelsen. Efter dette teststrin, GetResponseData_Script testtrin har scriptet, der får svarværdien og viser resultatet i loggen. Her er manuskriptet.
// Få svardata fra tjenesten
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # svar} ')
def parsedResponse = ny XmlSlurper (). parseText (svar)
String convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (konverteret værdi)
Når alle trin er klar, skal du dobbeltklikke på testpakkeens navn og køre testpakke. Dobbeltklik derefter på ServiceRequest_CurrencyConverter_1 og se svarafsnittet.
Dette er hvad vi ville finde:
- Svar modtages
- Åbn scriptloggen for at se de resulterende data, der konverteres baseret på inputparametre
Sådan kan vi videregive parametrene til inputanmodningen og få svaret gennem scriptet ved hjælp af egenskaber. Gå videre kan vi også videregive svarværdien til en anden tjeneste som input.
Ejendomsoverførsel
Ejendomsoverførselstesttrinet overfører ejendomsdataene fra en ejendom til en anden under udførelsen. Lad os kort se, hvordan vi kan oprette testtrin til ejendomsoverførsel, og hvordan ejendomsværdien overføres mellem to egenskaber.
- Højreklik på testkassens navn under testpakken
- Klik på Tilføj trin og klik derefter på Ejendomme mulighed fra genvejsmenuen
- Gentag ovenstående trin for at oprette den anden egenskab. Se nedenstående skærmbillede:
- Nu skal vi tilføje testtrin til ejendomsoverførsel.
- Højreklik på testsagens navn, og klik på mulighed for overførsel af ejendom fra genvejsmenuen
- Indtast dit ønskede ejendomsoverførselsnavn, og klik derefter på OK
- Klik på Tilføj, dvs. plustegn i værktøjslinjen til overførsel af ejendom
- Angiv overførselsnavnet, og klik derefter på OK-knappen
- I højre sidepanel er der to sektioner til rådighed: Kilde og Mål.
Vælg kilden som Ejendomme og ejendom som Property_Zipcode . Gør det samme i målafsnittet. Vælge Mål_Ejendom fra ejendommens rullemenu. Når køreikonet overføres ejendomsværdien fra Property_Zipcode til Mål_Ejendom .
(Klik på billedet for at se et større billede)
Se den overførte værdi som vist i nedenstående skærmbillede.
Bemærk: Kildeegenskab skal indeholde standardværdien.
Derudover er der mange muligheder tilgængelige på ejendomsoverførselsskærmen.
- Mislykket overførsel ved fejl
- Overfør tekstindhold
- Overfør til alle
- Tillad overført værdi (r)
- Indstil Null til Manglende kilde
- Ignorer tomme / manglende værdier
- Brug XQuery
- Overfør underordnede noder
Indlæs egenskaber fra ekstern kilde:
Følg disse trin for at indlæse egenskaber fra en ekstern kilde.
- Tilføj egenskabstesttrin under testsagen
- Indtast ejendommens trinnavn, og klik derefter på OK
- Klik på fanen Tilpassede egenskaber i egenskabspanelet under navigationspanelet
- Klik på
ikon for at indlæse egenskaberne fra den eksterne egenskabsfil
Bemærk: Ejendomsfilen skal gemmes eller findes på din computer. Klik på ikonet for at gemme egenskaberne.
Gå derefter til det respektive drev, og vælg ejendommen som vist nedenfor:
På OK kan vi se de indlæste egenskaber og deres værdier i fanen Tilpassede egenskaber.
Konklusion
Nå, det er egenskaber for os!
Hvert niveau egenskaber har deres egne egenskaber. Under din SoapUI-praksis skal du prøve at medtage egenskaber, når det er muligt, med det groovy script testtrin til tilføjelse, fjernelse, tildeling og hentning af ejendomsdata. Dette er ikke kun nyttigt, når du træner med tjenesterne, men også afgørende for ægte applikationstest, da denne teknik er meget nyttig for hævde dine testsager .
Det er lettere at overføre egenskaber mellem testtrin end at skrive gentagne scripts for at oprette nye. SoapUI giver også den vidunderlige funktion til import og eksport af egenskaber. Denne funktion vil være nyttig, når vi bruger almindelige egenskaber såsom loginoplysninger, sessionsoplysninger osv. Til flere projekter. På den måde behøver vi ikke oprette de samme egenskaber igen og igen til flere projekter. Vi kan simpelthen ændre i ejendomsværdien i forhold til ejendommene baseret på projekterne.
Næste tutorial # 9 : I næste SoapUI-tutorial lærer vi Betingede udsagn i Groovy som:
- Boolske udsagn
- Iterationserklæringer
- Arrays i Groovy
Det er det i dag. Fortsæt med at læse, og vi ses i næste vejledning. Del venligst dine spørgsmål, kommentarer og oplevelser nedenfor.
Anbefalet læsning
- Sådan bruges egenskaber i SoapUI Groovy Script - SoapUI Tutorial # 7
- Sådan udføres datadrevet test i SoapUI Pro - SoapUI Tutorial # 14
- 15+ SoapUI Tutorials: Det bedste API-testværktøj til webtjenester
- Sådan skriver du Basic Groovy Script i SoapUI - SoapUi Tutorial # 6
- Dybdegående formørkelsesvejledninger til begyndere
- 7 Vigtige funktioner i SoapUI og SoapUI Pro - Tutorial 2
- Forståelse af påstande i SoapUI - SoapUI Tutorial # 5
- 4 Vigtige funktioner i SoapUI Pro for Pro Audience - SoapUI Tutorial # 12