working with soapui properties soapui tutorial 8
Deze tutorial gaat helemaal over SoapUI-eigenschappen. In de laatste SoapUI-tutorial die we zagen hoe u eigenschappen toevoegt in het Groovy-script
Een eigenschap in ZEEP is vergelijkbaar met een variabele / parameter en in deze tutorial wordt besproken hoe je er een kunt gebruiken in een serviceverzoek en er responswaarde aan kunt toewijzen via scripting. Later gaan we verder met de teststap voor eigendomsoverdracht en vervolgens met het importeren van eigenschappen.
Dit is de 8e tutorial in ons SoapUI online training serie.
Wat leer je van deze SoapUI-zelfstudie?
- Verschillende gezichten van eigendommen
- Eigenschappen integreren in serviceaanvraag
- Inzicht in Property Transfer Teststep
- Eigenschappen extern laden
Er zijn er tweesoorten eigendommen in SoapUI
- Standaardeigenschappen : opgenomen in de SoapUI-installatie. We kunnen enkele van de standaardeigenschappen bewerken, maar niet alle.
- Aangepaste / door de gebruiker gedefinieerde eigenschappen : Deze worden door ons gedefinieerd op elk gewenst niveau, zoals globaal, project, testsuite, testcase of teststap.
Meestal zijn eigenschappen gewend opslaan en ophalen van de gegevens tijdens het uitvoeren van de testgevallen. Intern zal de eigenschap de waarde opslaan in de indeling van een sleutelpaar.
Bijvoorbeeld , in de onderstaande verklaring is 'Local_Property_FromCurrency' een sleutelnaam en verwijst 'USD' naar waarde. Om toegang te krijgen tot de eigenschapswaarde, moeten we de eigenschapsnaam gebruiken.
testRunner.testCase.testSteps ('Eigenschappen'). setPropertyValue
Local_Property_FromCurrency 'AMERIKAANSE DOLLAR'
Wat je leert:
- Verschillende eigendomsniveaus in SoapUI Pro
- Meer details over eigenschappen met voorbeelden
- Eigenschappen gebruiken in services
- Eigendomsoverdracht
- Gevolgtrekking
- Aanbevolen literatuur
Verschillende eigendomsniveaus in SoapUI Pro
Laten we de verschillende eigendomsniveaus in SoapUI Pro bespreken. In SoapUI zijn er drie niveaus met eigenschappen beschikbaar.
Niveau 1Project- en aangepaste eigenschappen
Op dit niveau zijn eigendommen verdeeld in twee secties. Het zijn projecteigenschappen en aangepaste eigenschappen. Deze verschijnen onderaan het navigatievenster als we op de projectnaam klikken. De sectie met projecteigenschappen heeft standaardeigenschappen die tijdens het maken van het project worden gemaakt, bijvoorbeeld Naam, Beschrijving, Bestand enz.
Om onze eigen eigenschappen te creëren, kunnen we het tabblad aangepaste eigenschappen gebruiken. Klik op het pluspictogram om eigenschappen aan te maken:
Er zijn veel andere opties beschikbaar, zoals verwijderen, omhoog verplaatsen, omlaag verplaatsen en sorteren naast toevoegen. Elk aantal aangepaste eigenschappen kan worden toegevoegd en gebruikt door elke sectie (testsuite, testcases) binnen het project.
Level 2 Test Suite en aangepaste eigenschappen
Deze eigenschappen zijn alleen zichtbaar onder de testsuite. Een testsuite kan een willekeurig aantal eigenschappen bevatten en ze zijn toegankelijk via alle teststappen die bij de genoemde testsuite horen.
De eigenschappen van de testsuite verschijnen wanneer u op de respectieve naam van de testsuite onder het project klikt. Om aangepaste eigenschappen toe te voegen, klikt u op het tabblad aangepaste eigenschappen en klikt u op het ‘+’ teken eronder.
Eigenschap # 3Testcase en aangepaste eigenschappen
Testcase-eigenschappen zijn toegankelijk binnen de testcase. Ze zijn niet toegankelijk via andere testcase-stappen of zelfs een testsuite onder het project.
hoe team foundation server te gebruiken
Meer details over eigenschappen met voorbeelden
Eigenschappen kunnen eindpunten, inloggegevens, koptekstinformatie en domein enz. Opslaan. Hoewel we hebben gesproken over het schrijven en lezen van gegevens naar / van de eigenschappen, moeten we dit onderwerp nog in detail bespreken met een voorbeeld.
De hierboven besproken niveaus van eigenschappen worden gebruikt in scripts om de gegevens te lezen.
# 1. Eigenschappen lezen:
We zullen kijken hoe we eigenschappen in groovy script kunnen lezen. Om toegang te krijgen tot eigenschappen op verschillende niveaus, is het volgende de syntaxis:
Project: Syntaxis: $ {# Projectnaam # Waarde}
Voorbeeld
def pr ojectPro = testRunner.testC naar se.testSuite.project.getPropertyValue
('Project_Level_Property')
'Project_Level_Property')
log.info (projectPro)
Testpakket: Syntaxis: $ {# TestSuite # Value}
Voorbeeld
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Testgeval: syntaxis: $ {# TestCase # Value}
Voorbeeld
def test casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Raadpleeg de onderstaande schermafbeelding:
# 2. Schrijven naar eigendommen:
Om dit te doen, moeten we gebruiken setPropertyValue methode.
Syntaxis: setPropertyValue ('naam eigenschap', 'waarde')
Als we waarden toekennen aan onbekende eigenschappen, dan zal SoapUI deze eigenschappen nieuw aanmaken. Voor bestaande eigendommen ontvangt u de waarden tijdens de toewijzing.
# 3. Eigenschappen verwijderen via script:
Dit kan gedaan worden door met de rechtermuisknop op de eigenschapsnaam te klikken in het eigenschappenvenster. Klik vervolgens op de optie Verwijderen in het contextmenu.
Gebruik hiervoor het script voor het verwijderen van de aangepaste eigenschappen de volgende instructies voor respectievelijk project-, testsuite- of testcase-niveaus:
testRunner.testCase.testSuite.project.removeProperty ('Testcase_Property');
testRunner.testCase.testSuite.removeProperty ('Testcase_Property');
testRunner.testCase.removeProperty ('Testcase_Property');
De bovenstaande scripts zijn niet optimaal als we meerdere eigendommen op elk niveau hebben, omdat deze stappen voor elke woning verschillende keren moeten worden herhaald. Een alternatief is om de eigenschappen door het script te herhalen, zoals hieronder:
testRunner.testCase.properties.each
sleutel, waarde ->
testRunner.testCase.removeProperty (sleutel)
Het bovenstaande script wordt herhaald tot de laatste eigenschap die beschikbaar is onder de testcase. Sleutel 'Verwijst naar de naam van de eigenschap waarbij' waarde ”Geeft de werkelijke waarde van het onroerend goed aan. We kunnen het bovenstaande script wijzigen om de lijst met bulkeigenschappen op verschillende niveaus te verwijderen.
# 4. Eigenschap toevoegen:
AddProperty methode wordt hiervoor gebruikt waarvan de syntaxis is:
addProperty (eigenschapsnaam);
Dit kan als volgt voor elk niveau worden aangepast:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
Na het uitvoeren van de bovenstaande scripts, klikt u op de naam van het project / testsuite / testcase. Controleer het tabblad aangepaste eigenschappen in het eigenschappenvenster en de gemaakte eigenschap verschijnt hier. Zie hieronder voor referentie:
Eigenschappen gebruiken in services
In deze sectie zullen we leren hoe we de eigenschappen in services kunnen gebruiken en we gaan de bovenstaande scripts gebruiken voor het toevoegen, toewijzen en ophalen van vastgoedgegevens met de webservice voor valuta-omrekenmachines.
Eigenschappen in service integreren:
Laten we beginnen met het toevoegen van teststappen zoals weergegeven in de onderstaande schermafbeelding.
In de bovenstaande schermafbeelding bevat de teststap AddProperties_Script het volgende script dat twee eigenschappen toevoegt, zoals Property_FromCurrency en Property_ToCurrency
// Eigenschappen toevoegen
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Wijs waarden toe aan de eigenschappen
testRunner.testCase.setPropertyValue (‘Property_FromCurrency’, ’USD’)
testRunner.testCase.setPropertyValue (‘Property_ToCurrency’, ‘INR’)
In de ServiceRequest_CurrencyConverter_1 bevat het verzoek met invoerparameters zoals hieronder te zien is:
Toegewezen waarden in de eigenschappen worden tijdens de uitvoering naar deze parameters overgedragen. Na deze teststap, GetResponseData_Script teststap heeft het script dat de responswaarde krijgt en het resultaat in het logboek laat zien. Hier is het script.
// Haal responsgegevens van de service op
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = nieuwe XmlSlurper (). parseText (antwoord)
String geconverteerdeValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (geconverteerde waarde)
Als alle stappen klaar zijn, dubbelklikt u op de naam van de testsuite en voert u de testsuite uit. Dubbelklik vervolgens op het ServiceRequest_CurrencyConverter_1 en zie het antwoordgedeelte.
Dit is wat we zouden vinden:
- Reactie zal worden ontvangen
- Open het scriptlogboek om de resulterende gegevens te zien die zijn geconverteerd op basis van invoerparameters
Dit is hoe we de parameters kunnen doorgeven aan het inputverzoek en het antwoord via het script kunnen krijgen met behulp van eigenschappen. Verdergaand kunnen we de responswaarde ook als invoer doorgeven aan een andere dienst.
Eigendomsoverdracht
De teststap voor de overdracht van eigenschappen draagt de eigenschapsgegevens tijdens de uitvoering over van de ene eigenschap naar de andere. Laten we in het kort zien hoe we een teststap voor eigendomsoverdracht kunnen maken en hoe de eigendomswaarde tussen twee eigendommen wordt overgedragen.
- Klik met de rechtermuisknop op de naam van de testcase onder de testsuite
- Klik Stap toevoegen en klik vervolgens op Eigendommen optie uit het contextmenu
- Herhaal de bovenstaande stappen om de tweede eigenschap te maken. Zie de onderstaande screenshot:
- Nu moeten we de teststap voor eigendomsoverdracht toevoegen.
- Klik met de rechtermuisknop op de naam van de testcase en klik op de optie voor eigendomsoverdracht in het contextmenu
- Voer de gewenste naam voor eigendomsoverdracht in en klik op OK
- Klik op Toevoegen, d.w.z. plusteken in de werkbalk voor eigendomsoverdracht
- Geef de naam van de overdracht op en klik op OK
- In het rechterzijpaneel zijn er twee secties beschikbaar: Bron en Doel.
Kies de bron als Eigendommen en eigendom als Eigenschap_Zipcode Doe hetzelfde in het doelgedeelte. Kiezen Target_Property van de eigenschap drop-down. Wanneer het pictogram wordt uitgevoerd, wordt de waarde van de eigenschap overgedragen van Eigenschap_Zipcode naar Target_Property
(Klik op afbeelding voor vergrote weergave)
Bekijk de overgedragen waarde zoals weergegeven in de onderstaande schermafbeelding.
Notitie: De eigenschap Source moet de standaardwaarde bevatten.
Daarnaast zijn er veel opties beschikbaar in het eigendomsoverdrachtsscherm.
- Overdracht mislukt bij fout
- Overdracht van tekstinhoud
- Overbrengen naar alles
- Entitize overgedragen waarde (n)
- Zet Null op Missing Source
- Negeer lege / ontbrekende waarden
- Gebruik XQuery
- Draag onderliggende knooppunten over
Eigenschappen laden vanuit externe bron:
Volg deze stappen om eigenschappen van een externe bron te laden.
- Voeg Eigenschappen teststap toe onder de testcase
- Voer de naam van de eigenschapsstap in en klik op OK
- Klik in het eigenschappenvenster onder het navigatievenster op het tabblad Aangepaste eigenschappen
- Klik
pictogram om de eigenschappen uit het externe eigenschappenbestand te laden
Notitie: Het eigenschappenbestand moet op uw computer worden opgeslagen of aanwezig zijn. Klik op het pictogram om de eigenschappen op te slaan.
Ga vervolgens naar het betreffende station en kies de eigenschap zoals hieronder weergegeven:
Op OK kunnen we de geladen eigenschappen en hun waarden zien op het tabblad Aangepaste eigenschappen.
Gevolgtrekking
Nou, dat zijn eigenschappen voor ons!
De eigenschappen van elk niveau hebben hun eigen kenmerken. Probeer tijdens je SoapUI-oefening waar mogelijk eigenschappen op te nemen met de groovy scriptteststap voor het toevoegen, verwijderen, toewijzen en ophalen van eigendomsgegevens. Dit is niet alleen handig wanneer u met de services oefent, maar ook cruciaal voor het testen van echte toepassingen, aangezien deze techniek erg nuttig is beweer uw testgevallen
Het overbrengen van eigenschappen tussen teststappen is eenvoudiger dan het schrijven van herhaalde scripts om nieuwe te maken. SoapUI biedt ook de geweldige functie om eigenschappen te importeren en exporteren. Deze functie is handig als we algemene eigenschappen gebruiken, zoals inloggegevens, sessiegegevens enz., Voor meerdere projecten. Op die manier hoeven we niet steeds dezelfde eigenschappen te creëren voor meerdere projecten. We kunnen eenvoudig de waarde van het onroerend goed aanpassen aan de eigendommen op basis van de projecten.
Volgende tutorial # 9 : In de volgende SoapUI-tutorial zullen we leren Voorwaardelijke uitspraken in Groovy zoals:
- Booleaanse verklaringen
- Herhalende verklaringen
- Arrays in Groovy
Dat is het voor vandaag. Blijf lezen en we zien je in de volgende tutorial. Deel hieronder uw vragen, opmerkingen en ervaringen.
Aanbevolen literatuur
- Eigenschappen in SoapUI Groovy Script gebruiken - SoapUI Tutorial # 7
- Gegevensgestuurde tests uitvoeren in SoapUI Pro - SoapUI-zelfstudie # 14
- 15+ SoapUI-zelfstudies: de beste API-testtool voor webservices
- Hoe u een standaard Groovy-script schrijft in SoapUI - SoapUi-zelfstudie # 6
- Diepgaande Eclipse-zelfstudies voor beginners
- 7 Belangrijke kenmerken van SoapUI en SoapUI Pro - Tutorial 2
- Inzicht in beweringen in SoapUI - SoapUI Tutorial # 5
- 4 Belangrijke kenmerken van SoapUI Pro voor professioneel publiek - SoapUI Tutorial # 12