Ich bin neu in SoapUI und haben nur einen sehr einfachen MockService konfiguriert. Ist es möglich, die Antwort so zu manipulieren, dass für eine bestimmte Anfrage die Elemente der Antwort dynamisch aufgebaut werden?So geben Sie dynamische Antwort in SoapUI MockService
Szenario 1:
Anfrage:
<record>
<identifier>ID1</identifier>
</record>
Antwort:
<response>
<child1>child 1</child1>
</response>
Szenario 2:
Anfrage:
<record>
<identifier>ID2</identifier>
</record>
Antwort:
<response>
<child2>child 2</child2>
</response>
Es ist für einen einfachen Test, und ich brauche es nicht mehr als die oben zu tun. Ich mache zur Zeit die folgenden, die die Ergebnisse Ich möchte ergibt aber da ich auf diese völlig neue bin ich bin sicher, es gibt bessere Alternativen:
Antwort:
<response>
${dynElement}
</response>
Groovy Skript:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
def reqRef = String.valueOf(holder.getNodeValue("//identifier"))
def child1Text = "<child1>child 1</child1>"
def child2Text = "<child2>child 2</child2>"
if (reqRef == "ID1") {
context.setProperty("dynElement", child1Text)
} else if (reqRef == "ID2") {
context.setProperty("dynElement", child2Text)
}
Ich denke, Sie wollten nicht in der letzten Zeile des Beispiels doppelte Anführungszeichen um child2Text setzen. Ansonsten wird die Variable child2Text nie gelesen. – 0x89
ja sorry, ein Fehler. Ich werde korrigieren – Ross