Mein Anwendungsfall ist, dass ich eine Massenaktualisierung von Anfragekörpern in mehreren SoapUI-Projekten durchführen möchte.Wie verschachtelte Parameter in SoapUI context.expand Ausdruck zu verwenden?
Beispiel für einen Anfragetext.
{
"name": "${#TestSuite#NameProperty}"
"id": "${#TestSuite#IdProperty}"
}
Ich möchte die Eigenschaft $ {# # NameProperty Testsuite} durch Groovy, erweitern und den Wert erhalten bei Testsuite Ebene gespeichert dann nach Bedarf ändern.
Angenommen, ich habe 50 Testschritte in meinem Testfall und ich möchte die Anfrage für jeden von Groovy Skript erweitern. Um eine bestimmte Testschritte zu erweitern, würde ich den Namen der Testschritte übergeben. Zum Beispiel:
expandedProperty = context.expand('${testStep1#Request}')
Aber, wie kann ich das gleiche erreichen, wenn ich alle 50 Testschritte zu durchlaufen will? Ich habe versucht, einen verschachtelten Parameter innerhalb des context.expand-Ausdrucks zu verwenden, aber es hat nicht funktioniert. Zum Beispiel:
currentTestStepName = "TestStep1"
expandedProperty = context.expand('${${currentTestStepName}#Request}')
Dies ergab mir nur die erweiterte Anfrage von dem Testschritt direkt darüber (wo ich das groovy Skript leitete aus) anstelle dem „TestStep1“ Schritt. (Was ist Wahnsinn!)
Auch context.expand scheint nur zu funktionieren, während über Groovy Skript aus dem SoapUI Arbeitsbereich Projekt ausgeführt wird. Gibt es eine andere Möglichkeit oder eine ähnliche Methode wie context.expand, die Eigenschaften wie "$ {# TestSuite # NameProperty}" während der kopflosen Ausführung erweitern kann? ZB: Eine groovy kompilierte JAR-Datei, die in SoapUI importiert wurde.
Vielen Dank für jede Hilfe im Voraus!
Ein Weg, den ich herausgefunden habe, ist, indem ich eine Zeichenfolge konstruiere, die den tatsächlichen Namen des Testschritts ergibt, und es hat funktioniert. Aber ich hatte gehofft, es könnte einen einfacheren Weg geben. Beispiel: ** string = "\ $" + "{Testschritt1 # Anfrage}" ** und dann den String erweitern ** context.expand (string) ** – Dighate
Was ist Ihr Anwendungsfall? Willst du einfach alle Anfragen des Tests an einige wo schreiben? Ist grooviges Skript im selben Testfall? – Rao
Aktualisiert meinen Anwendungsfall in der ursprünglichen Frage. – Dighate