从列表中随机选择一个值,然后在SOAP Request TestStep中使用该值

问题描述 投票:1回答:2

我有一个简短的值列表:[Option_1,Option_2,Option_3]。

对于我的测试的每个循环,我想从该列表中随机选择一个值,并将其分配给一个变量,然后在Soap测试步骤中使用该变量。

我有一个Groovy脚本TestStep:

def z = ["Option_1", "Option_2", "Option_3"]
Random rnd = new Random()

def option = z[rnd.nextInt(z.size)]

testRunner.testCase.setPropertyValue( "selectedOption", option )

在我的肥皂测试步骤中,我尝试像这样调用变量:

<value>${#selectedOption}</value>

我什至在这附近吗?我对SoapUI和Groovy都是新手。任何帮助将不胜感激。

random groovy soapui
2个回答
1
投票

实际上SOAPUI(Pro)提供了在循环中生成随机数据的可能性。如果使用数据源循环,则可以将“数据生成器”用作数据源。我很快尝试了一下,这很适合您的要求。

创建数据源步骤:

  • 创建属性(即输出)
  • 选择数据生成器作为数据源
  • 行数= 1
  • 属性类型:集合中的值
  • 自定义值:
    • 添加/单击自定义值字段:Option_1Option_2的同义,然后Option_3]
    • 再添加/单击一次(空字段)=>我不知道为什么会这样,但是如果您不这样做,随机将只考虑前两个数据
  • 生成模式:随机
  • 如果启动该循环,则“输出”的内容将随机成为您的“自定义”值之一。然后,您只需要像其他步骤一样使用output属性(因为您是SOAP UI的新手,在将使用随机值的步骤中,单击右键并在DataSource步骤上执行“获取数据”,使用随机输出)

    您可能也有兴趣看看此use case

    祝你好运;)


    0
    投票

    您的代码正确,并且可以正确生成各种值,如下所示

    © www.soinside.com 2019 - 2024. All rights reserved.