Wie verwende ich eine Variablenreferenz in einer XMLSlurper-Anweisung?

Ich benutze einen Groovy mit XMLSlurper, um meine Webservice-Antworten in soap ui pro zu überprüfen.

Ich habe den folgenden Code, der funktioniert (expectedResponse ist var, der den erwarteten Fehlercode speichert, z. B. E0023) ...

if(expectedResponse2 in slurper.Body.createShipmentResponse.integrationFooter.errors.error.errorCode.collect{it.text()})
{
        result = "pass" 
}

Ich möchte jedoch den 'integrationFooter.errors.error.errorCode' durch einen Verweis auf eine Variable ersetzen, die ich aus einer SoapUI Pro-Datenquelle bereitstellen kann, da ich nicht immer für dasselbe Antwortelement validiere. Wenn ich erwarte, dass der Test bestanden wird, möchte ich möglicherweise überprüfen, ob das Statuselement mit "Allocated" (Zugewiesen) gefüllt ist. Wenn ich erwarte, dass die Anforderung fehlschlägt, möchte ich überprüfen, ob das errorCode-Feld mit dem richtigen errorCode gefüllt ist, z. 'E0023'.

Wenn ich eine Variable namens testElement in meinem Groovyscript habe und ihr den Pfad des Elements z. integrationFooter.errors.error.errorCode Wie verweise ich auf die Variable in meiner XMLSlurper-Anweisung?

Ich habe den folgenden Code ausprobiert, aber es hat nicht funktioniert.

if(expectedResponse2 in slurper.Body.createShipmentResponse."${testElement}".collect{it.text()})

Antworten auf die Frage(1)

Ihre Antwort auf die Frage