working with soapui properties soapui tutorial 8
In diesem Tutorial geht es um SoapUI-Eigenschaften. Im letzten SoapUI-Tutorial haben wir gesehen So fügen Sie Eigenschaften im Groovy-Skript hinzu .
Eine Immobilie in SEIFE ähnelt einer Variablen / einem Parameter. In diesem Lernprogramm wird erläutert, wie Sie eine Variable in einer Serviceanforderung verwenden und ihr durch Skripten einen Antwortwert zuweisen. Später fahren wir mit dem Testschritt zum Übertragen von Eigenschaften fort und importieren dann Eigenschaften.
Dies ist das 8. Tutorial in unserem SoapUI Online-Training Serie.
Was lernen Sie aus diesem SoapUI-Tutorial?
- Verschiedene Gesichter von Eigenschaften
- Eigenschaften in Serviceanforderung integrieren
- Grundlegendes zum Testschritt für die Eigentumsübertragung
- Eigenschaften extern laden
Es gibt zweiArten von Eigenschaften in SoapUI::
- Standardeigenschaften : in der SoapUI-Installation enthalten. Wir können einige der Standardeigenschaften bearbeiten, aber nicht alle.
- Benutzerdefinierte / benutzerdefinierte Eigenschaften : Diese werden von uns auf jeder erforderlichen Ebene definiert, z. B. global, Projekt, Testsuite, Testfall oder Testschritt.
Meistens sind Eigenschaften daran gewöhnt Speichern und Abrufen der Daten während der Ausführung der Testfälle. Interne Eigenschaft speichert den Wert im Schlüsselpaarformat.
Zum Beispiel In der folgenden Anweisung ist 'Local_Property_FromCurrency' ein Schlüsselname und 'USD' bezieht sich auf den Wert. Um auf den Eigenschaftswert zuzugreifen, müssen wir den Eigenschaftsnamen verwenden.
testRunner.testCase.testSteps ['Eigenschaften']. setPropertyValue
(' Local_Property_FromCurrency ', 'US DOLLAR' )
Was du lernen wirst:
- Verschiedene Eigenschaftenstufen in SoapUI Pro
- Weitere Details zu Eigenschaften anhand von Beispielen
- Verwenden von Eigenschaften in Diensten
- Eigentumsübertragung
- Fazit
- Literatur-Empfehlungen
Verschiedene Eigenschaftenstufen in SoapUI Pro
Lassen Sie uns die verschiedenen Eigenschaftenebenen in SoapUI Pro diskutieren. In SoapUI stehen drei Eigenschaftenebenen zur Verfügung.
Level 1. Projekt- und benutzerdefinierte Eigenschaften
In dieser Ebene sind die Eigenschaften in zwei Abschnitte unterteilt. Sie sind Projekteigenschaften und benutzerdefinierte Eigenschaften. Diese werden am unteren Rand des Navigatorfensters angezeigt, wenn wir auf den Projektnamen klicken. Der Abschnitt Projekteigenschaften enthält Standardeigenschaften, die während der Projekterstellung erstellt werden, z. B. Name, Beschreibung, Datei usw.
Um unsere eigenen Eigenschaften zu erstellen, können wir die Registerkarte 'Benutzerdefinierte Eigenschaften' verwenden. Klicken Sie auf das Plus-Symbol, um Eigenschaften zu erstellen:
Es stehen viele andere Optionen zur Verfügung, z. B. Entfernen, Nach oben, Nach unten und Sortieren neben Hinzufügen. Es können beliebig viele benutzerdefinierte Eigenschaften hinzugefügt und von beliebigen Abschnitten (Testsuite, Testfälle) innerhalb des Projekts verwendet werden.
Level 2. Testsuite und benutzerdefinierte Eigenschaften
Diese Eigenschaften sind nur unter der Testsuite sichtbar. Eine Testsuite kann eine beliebige Anzahl von Eigenschaften enthalten, und auf sie kann von beliebigen Testschritten zugegriffen werden, die zu dieser Testsuite gehören.
Die Eigenschaften der Testsuite werden angezeigt, wenn Sie unter dem Projekt auf den jeweiligen Namen der Testsuite klicken. Um benutzerdefinierte Eigenschaften nach Bedarf hinzuzufügen, klicken Sie auf die Registerkarte 'Benutzerdefinierte Eigenschaften' und dann auf das Pluszeichen darunter.
Eigenschaft # 3. Testfall und benutzerdefinierte Eigenschaften
Auf die Eigenschaften des Testfalls kann innerhalb des Testfalls zugegriffen werden. Sie sind für andere Testfallschritte oder sogar für die Testsuite im Rahmen des Projekts nicht zugänglich.
kostenloses Systemoptimierungsprogramm für Windows 7
Weitere Details zu Eigenschaften anhand von Beispielen
Eigenschaften können Endpunkte, Anmeldedaten, Headerinformationen und Domänen usw. speichern. Obwohl wir über das Schreiben und Lesen von Daten zu / von den Eigenschaften gesprochen haben, müssen wir dieses Thema noch ausführlich anhand eines Beispiels diskutieren.
Die oben beschriebenen Eigenschaftenebenen werden in Skripten zum Lesen der Daten verwendet.
# 1. Leseeigenschaften:
Wir werden uns ansehen, wie wir Eigenschaften in groovigem Skript lesen können. Um auf verschiedene Ebeneneigenschaften zuzugreifen, lautet die folgende Syntax:
Projekt: Syntax: $ {# Projektname # Wert}
Beispiel::
def pr ojectPro = testRunner.testC zu se.testSuite.project.getPropertyValue
('Project_Level_Property')
'Project_Level_Property')
log.info (projectPro)
Testsuite: Syntax: $ {# TestSuite # Value}
Beispiel::
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Testfall: Syntax: $ {# TestCase # Value}
Beispiel::
def Prüfung casePro = testRunner.testCase.getPropertyValue ('Testcase_Property')
log.info (testcasePro)
Siehe den Screenshot unten:
# 2. Schreiben in Eigenschaften:
Dazu müssen wir verwenden setPropertyValue Methode.
Syntax: setPropertyValue ('Eigenschaftsname', 'Wert')
Wenn wir unbekannten Eigenschaften Werte zuweisen, erstellt SoapUI diese Eigenschaften neu. Für vorhandene Eigenschaften erhalten die Werte während der Zuordnung.
#3. Eigenschaften über Skript entfernen:
Dies kann durch Klicken mit der rechten Maustaste auf den Eigenschaftsnamen im Eigenschaftenfenster erfolgen. Klicken Sie dann im Kontextmenü auf die Option Entfernen.
Verwenden Sie dazu das Skript zum Entfernen der benutzerdefinierten Eigenschaften, um die folgenden Anweisungen für Projekt-, Testsuite- bzw. Testfallstufen zu verwenden:
testRunner.testCase.testSuite.project.removeProperty ('Testcase_Property');
testRunner.testCase.testSuite.removeProperty ('Testcase_Property');
testRunner.testCase.removeProperty ('Testcase_Property');
Die obigen Skripte sind nicht optimal, wenn wir in jeder Ebene mehrere Eigenschaften haben, da diese Schritte für jede Eigenschaft mehrmals wiederholt werden müssen. Eine Alternative besteht darin, die Eigenschaften wie folgt durch das Skript zu iterieren:
testRunner.testCase.properties.each
{
Schlüssel, Wert ->
testRunner.testCase.removeProperty (Schlüssel)
}}
Das obige Skript wird bis zur letzten im Testfall verfügbaren Eigenschaft wiederholt. „ Schlüssel 'Bezieht sich auf den Namen der Immobilie, wobei' Wert ”Bezeichnet den tatsächlichen Wert der Immobilie. Wir können das obige Skript ändern, um die in verschiedenen Ebenen vorhandene Bulk-Eigenschaftsliste zu entfernen.
# 4. Eigenschaft hinzufügen:
AddProperty Hierfür wird eine Methode verwendet, deren Syntax lautet:
addProperty (Eigenschaftsname);
Dies kann für jedes Level wie folgt angepasst werden:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty ('TestcaseProperty1')
Klicken Sie nach dem Ausführen der obigen Skripte auf den Namen des Projekts / der Testsuite / des Testfalls. Überprüfen Sie die Registerkarte Benutzerdefinierte Eigenschaften im Eigenschaftenfenster. Die erstellte Eigenschaft wird hier angezeigt. Siehe unten als Referenz:
Verwenden von Eigenschaften in Diensten
In diesem Abschnitt erfahren Sie, wie wir die Eigenschaften in Diensten verwenden können, und wir werden die obigen Skripts zum Hinzufügen, Zuweisen und Abrufen von Eigenschaftsdaten mit dem Währungsumrechnungs-Webdienst verwenden.
Eigenschaften in Service integrieren:
Beginnen wir mit dem Hinzufügen von Testschritten, wie im folgenden Screenshot gezeigt.
Im obigen Screenshot enthält der Testschritt AddProperties_Script das folgende Skript, das zwei Eigenschaften hinzufügt, z Property_FromCurrency und Property_ToCurrency .
// Eigenschaften hinzufügen
testRunner.testCase.addProperty ('Property_FromCurrency')
testRunner.testCase.addProperty ('Property_ToCurrency')
// Weisen Sie den Eigenschaften Werte zu
testRunner.testCase.setPropertyValue ('Property_FromCurrency', 'USD')
testRunner.testCase.setPropertyValue ('Property_ToCurrency', 'INR')
In dem ServiceRequest_CurrencyConverter_1 enthält die Anforderung mit den folgenden Eingabeparametern:
Zugewiesene Werte in den Eigenschaften werden während der Ausführung auf diese Parameter übertragen. Nach diesem Testschritt GetResponseData_Script Der Testschritt enthält das Skript, das den Antwortwert erhält und das Ergebnis im Protokoll anzeigt. Hier ist das Skript.
// Antwortdaten vom Dienst abrufen
def response = context.expand ('$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = new XmlSlurper (). parseText (Antwort)
String convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertValue)
Wenn alle Schritte abgeschlossen sind, doppelklicken Sie auf den Namen der Testsuite und führen Sie die Testsuite aus. Doppelklicken Sie dann auf ServiceRequest_CurrencyConverter_1 und siehe den Antwortabschnitt.
Folgendes würden wir finden:
- Antwort wird empfangen
- Öffnen Sie das Skriptprotokoll, um die resultierenden Daten anzuzeigen, die basierend auf Eingabeparametern konvertiert werden
Auf diese Weise können wir die Parameter an die Eingabeanforderung übergeben und die Antwort mithilfe von Eigenschaften über das Skript abrufen. Wenn Sie weiter gehen, können Sie den Antwortwert auch als Eingabe an einen anderen Dienst übergeben.
Eigentumsübertragung
Der Eigenschaftsübertragungs-Testschritt überträgt die Eigenschaftsdaten während der Ausführung von einer Eigenschaft zu einer anderen. Lassen Sie uns kurz sehen, wie wir einen Testschritt für die Übertragung von Eigenschaften erstellen können und wie der Eigenschaftswert zwischen zwei Eigenschaften übertragen wird.
- Klicken Sie mit der rechten Maustaste auf den Testfallnamen unter der Testsuite
- Klicken Schritt hinzufügen und dann klicken Eigenschaften Option aus dem Kontextmenü
- Wiederholen Sie die obigen Schritte, um die zweite Eigenschaft zu erstellen. Siehe folgenden Screenshot:
- Jetzt müssen wir den Testschritt für die Eigentumsübertragung hinzufügen.
- Klicken Sie mit der rechten Maustaste auf den Testfallnamen und klicken Sie im Kontextmenü auf die Option zur Übertragung von Eigenschaften
- Geben Sie den gewünschten Namen für die Eigentumsübertragung ein und klicken Sie auf OK
- Klicken Sie in der Symbolleiste für die Eigentumsübertragung auf Hinzufügen, d. H. Pluszeichen
- Geben Sie den Übertragungsnamen an und klicken Sie auf OK
- Im rechten Seitenbereich stehen zwei Abschnitte zur Verfügung: Quelle und Ziel.
Wählen Sie die Quelle als Eigenschaften und Eigentum als Property_Zipcode . Machen Sie dasselbe im Zielbereich. Wählen Target_Property von der Eigenschaft Dropdown. Beim Ausführungssymbol wird der Eigenschaftswert von übertragen Property_Zipcode zu Target_Property .
(Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Sehen Sie sich den übertragenen Wert an, wie im folgenden Screenshot gezeigt.
Hinweis: Die Quelleigenschaft sollte den Standardwert enthalten.
Darüber hinaus stehen auf dem Bildschirm für die Übertragung von Eigenschaften viele Optionen zur Verfügung.
- Fehlerübertragung bei Fehler
- Textinhalt übertragen
- Übertragung an alle
- Übertragene Werte anregen
- Setzen Sie Null auf fehlende Quelle
- Leere / fehlende Werte ignorieren
- Verwenden Sie XQuery
- Untergeordnete Knoten übertragen
Eigenschaften von externer Quelle laden:
Führen Sie die folgenden Schritte aus, um Eigenschaften von einer externen Quelle zu laden.
- Fügen Sie unter dem Testfall den Testschritt Eigenschaften hinzu
- Geben Sie den Eigenschaftsschrittnamen ein und klicken Sie dann auf OK
- Klicken Sie im Eigenschaftenfenster unter dem Navigationsfenster auf die Registerkarte Benutzerdefinierte Eigenschaften
- Klicken Symbol zum Laden der Eigenschaften aus der externen Eigenschaftendatei
Hinweis: Die Eigenschaftendatei sollte auf Ihrem Computer gespeichert oder vorhanden sein. Um die Eigenschaften zu speichern, klicken Sie auf das Symbol.
Gehen Sie dann zum jeweiligen Laufwerk und wählen Sie die Eigenschaft wie unten gezeigt aus:
Auf OK können wir die geladenen Eigenschaften und ihre Werte auf der Registerkarte Benutzerdefinierte Eigenschaften sehen.
Fazit
Das sind Eigenschaften für uns!
Jede Ebeneneigenschaft hat ihre eigenen Eigenschaften. Versuchen Sie während Ihrer SoapUI-Übung, Eigenschaften nach Möglichkeit in den Testschritt für groovige Skripte aufzunehmen, um Eigenschaftsdaten hinzuzufügen, zu entfernen, zuzuweisen und abzurufen. Dies ist nicht nur nützlich, wenn Sie mit den Diensten üben, sondern auch wichtig für echte Anwendungstests, da diese Technik sehr hilfreich ist behaupten Sie Ihre Testfälle .
Das Übertragen von Eigenschaften zwischen Testschritten ist einfacher als das Schreiben wiederholter Skripte zum Erstellen neuer. SoapUI bietet auch die wunderbare Funktion zum Importieren und Exportieren von Eigenschaften. Diese Funktion ist nützlich, wenn wir allgemeine Eigenschaften wie Anmeldedetails, Sitzungsdetails usw. für mehrere Projekte verwenden. Auf diese Weise müssen wir nicht immer wieder dieselben Eigenschaften für mehrere Projekte erstellen. Wir können einfach den Eigenschaftswert gegenüber den Eigenschaften basierend auf den Projekten ändern.
Nächstes Tutorial Nr. 9 : Im nächsten SoapUI-Tutorial werden wir lernen Bedingte Anweisungen in Groovy wie:
- Boolesche Anweisungen
- Iterationsanweisungen
- Arrays in Groovy
Das war `s für heute. Lesen Sie weiter und wir sehen uns im nächsten Tutorial. Bitte teilen Sie Ihre Fragen, Kommentare und Erfahrungen unten.
Literatur-Empfehlungen
- Verwendung von Eigenschaften in SoapUI Groovy Script - SoapUI Tutorial # 7
- So führen Sie datengesteuerte Tests in SoapUI Pro durch - SoapUI Tutorial Nr. 14
- 15+ SoapUI-Tutorials: Das beste API-Testtool für Webdienste
- So schreiben Sie ein einfaches Groovy-Skript in SoapUI - SoapUi Tutorial # 6
- Ausführliche Eclipse-Tutorials für Anfänger
- 7 Wichtige Funktionen von SoapUI und SoapUI Pro - Tutorial 2
- Grundlegendes zu Behauptungen in SoapUI - SoapUI Tutorial # 5
- 4 Wichtige Funktionen von SoapUI Pro für Pro Audience - SoapUI Tutorial # 12