2016-06-10 9 views
2

Mit SoapUi möchte ich einen MockService anrufen und wenn die Antwort so konfiguriert ist, dass sie eine statische Nachricht zurückgibt, scheint alles in Ordnung zu sein. Auf der anderen Seite, wenn ich einen Parameter hinzufüge und sende (zB. PName = John), obwohl ich auch den Namen in der Antwort von "John" zu $ ​​{PName} geändert habe, bekomme ich nichts (eine leere Zeichenfolge). Wo mache ich es falsch? Bitte beachten Sie die beigefügte ScreenshotWie man einen REST-Schein in SoapUi dynamisch konfiguriert?

Danke, enter image description here

Antwort

2

Hier ist, wie ich würde die Anforderungsparameter erhalten:

Zum Beispiel wird Benutzer eine Abfrage-Parameter übergeben sagen test mit Wert abc.

Mock Script:

//Read request parameter test and assign value to a variable 
def userValue = mockRequest.httpRequest.getParameter('test') 
//Assign the input value to response context 
context.requestValue = userValue 

Beispielantwort unter Verwendung des Kontexts:

{ 
    "comment" : "${requestValue}" 
} 

über alle Datenfluss:

enter image description here

+0

@ user1980253, froh zu wissen. Würde es Ihnen etwas ausmachen, es als Antwort zu akzeptieren? – Rao

-1

Nutzungskonzept von Eigenschaften für Parametrisierung. Mock Services verwendet die Eigenschaften Value. Da Ihre Eigenschaft PName in benutzerdefinierten Eigenschaften auf keiner Stufe von soapUI vorhanden ist, erhalten Sie NULL-Antwort.

Definieren Sie eine Eigenschaft PnameValue Projektebene als

enter image description here

nun Ihre Testanforderung Wert ändern, wie enter image description here

ein Mock-Service hinzufügen mit Antwort

enter image description here

Ihre Mock starten Service und Trigger-Betrieb. Auch können Sie d verwenden unterschiedliche Antwort basierend auf Eigenschaftswerten auf einer beliebigen Ebene von SoapUI.

Bitte akzeptieren Sie die Antwort, wenn es Ihr Problem löst.

+0

Dies löst nicht das Problem. Weil, nur die Projekteigenschaft verwendend und es unmöglich ist, denselben Wert für alle Anforderungsaufrufe zu haben und den Zweck des Sendens von Wert als Abfrageparameter überhaupt nicht zu lösen. – Rao

+1

Vielen Dank für Ihre Antwort, aber es beantwortet meine Frage nicht. Ich muss den Parameter als "klassischen" REST-Parameter übergeben. – Dyptorden

Verwandte Themen