2016-06-15 6 views
1

Ich versuche, die key eines Arrays ohne den Wert im UI prompt Anhang zurückgeben. Allerdings habe ich im Moment sowohl den Schlüssel als auch den Wert.SOAPUI Groovy UI Unterstützung Mapping mit Arrays

Bei Verwendung log.info zeigt die Konsole nur die key was ich will. Allerdings bin ich mir nicht ganz sicher, warum ich beides in der UI dialogue box bekomme.

Das Endziel besteht darin, mehrere Benutzernamen anzuzeigen, denen E-Mail-Adressen in einer Dropdown-Liste zugeordnet sind, und den entsprechenden Wert des ausgewählten Schlüssels aus der Dropdown-Liste abzurufen.

Das ist, was ich bisher habe:

def map2 = new HashMap<String,String>() 
map2.put("SP", "[email protected]") 
map2.each{ k, v -> log.info "${k}"} 

email = UISupport.prompt("Select User ","Select User", map2.each{ k, v -> "${k}"}) 

Dies ist, was die Benutzeroberfläche zur Zeit zeigt:

Email Dropdown

Antwort

1

Hier ist, was Sie tun müssen:

Konvertieren der Keys in eine Liste und diese Liste an prompt() Methode übergeben, so dass es das Dropdown zeigen kann.

Geänderte Skript: Aktualisierung per Kommentar des Fragestellers - das Ergebnis des Tropfens ertrinken Auswahlwertes als Schlüssel für die Karte übergeben, so dass E-Mail abgerufen werden kann.

import com.eviware.soapui.support.UISupport 
def map = ["SP": "[email protected]", "TP": "[email protected]"] 
def list = map.keySet() as List 
assert list instanceof List 
email = map[UISupport.prompt("Select User ","Select User", list)] 
log.info email 

Und es scheint, als unten:

enter image description here

Jetzt können Sie die E-Mail sehen ausgewählt wird, wenn der Benutzer auf den Dropdown-Wert in dem obigen Bildschirm auswählt.

+0

danke für die Antwort. Es macht einen guten Job und gibt die Namen zurück, aber ich habe Schwierigkeiten, den Wert dem Namen zuzuweisen. Das Skript funktioniert einwandfrei und zeigt die zwei Datensätze an, aber wenn ich SP auswähle, möchte ich, dass der Wert für die E-Mail auf [email protected] gesetzt wird - wenn das möglich ist? – user610

+0

Sie wollen nicht Schlüssel, aber Wert, ist das richtig? E-Mail sollte Wert haben, richtig? – Rao

+0

ys das ist korrekt, so sollte nur der Name im Dialogfeld für den Benutzer angezeigt werden, aber die E-Mail-Variable sollte den Wert des Schlüssels – user610