SOAPUI Groovy UI 支持数组映射

SOAPUI Groovy UI Support mapping with arrays

我正在尝试 return 数组的 key,而没有在 UI prompt 中附加值。但是,使用我现在拥有的那个,我得到了键和值。

当使用 log.info 时,控制台只显示我想要的 key。但是,我不完全确定为什么我在 UI dialogue box.

中同时获得这两个

最终目标是在下拉列表中显示多个用户名,这些用户名具有与其关联的电子邮件地址,并从下拉列表中获取所选键的相应值。

这是我目前拥有的:

def map2  = new HashMap<String,String>()
map2.put("SP", "XXX@.co.uk")
map2.each{ k, v -> log.info "${k}"}

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

这是 UI 当前显示的内容:

这是您需要做的:

将键转换为列表并将该列表传递给 prompt() 方法,以便它可以显示下拉列表。

更改脚本: 根据提问者的评论进行更新 - 将 drop drown 选择值的结果作为键传递给地图,以便可以检索电子邮件。

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

出现如下:

现在,当用户在上面的屏幕中选择下拉值时,您可以看到电子邮件已被选中。