从列表中随机选择一个值,然后在 SOAP 请求 TestStep 中使用该值
Choose a value at random from a list, then use this value in a SOAP Request TestStep
我有一个简短的值列表:[Option_1、Option_2、Option_3]。
对于我测试的每个循环,我想从这个列表中随机选择一个值并将其分配给一个变量,然后我可以在 Soap 测试步骤中使用它。
我有一个 Groovy 脚本测试步骤:
def z = ["Option_1", "Option_2", "Option_3"]
Random rnd = new Random()
def option = z[rnd.nextInt(z.size)]
testRunner.testCase.setPropertyValue( "selectedOption", option )
在我的 Soap 测试步骤中,我尝试像这样调用变量:
<value>${#selectedOption}</value>
我离这里很近吗?我对 SoapUI 和 Groovy 都非常陌生。任何帮助将不胜感激。
您的代码是正确的,并且可以正确生成各种值,如下所示
但是您尝试访问 属性 的方式应该按以下方式完成。
由于您正在尝试访问 测试用例 属性。您应该使用以下语法
<value>${#TestCase#selectedOption}</value>
缺少此 TestCase 关键字。希望您在测试用例级别使用此 属性。如果你想在不同的测试用例中使用,你可以在套件级别设置然后使用 ${TestSuite#selectedOption}
实际上 SOAPUI (Pro) 提供了在循环中生成随机数据的可能性。
如果使用数据源循环,则可以使用 "Data Generator" 作为数据源。我很快就试过了,这可能符合你的要求。
创建数据源步骤:
- 创建一个属性(即输出)
- select 作为数据源的数据生成器
- 行数 = 1
- 属性 类型:集合中的值
- 自定义值:
- add/click 在自定义值字段中:Option_1
同上 Option_2 然后 Option_3
- add/click 再一次(空字段)=> 我不知道为什么会这样,但如果你不这样做,随机将只考虑前两个数据
- 生成模式:随机
如果您启动该循环,'output' 的内容将随机成为您的自定义值之一。
然后,您只需像通常对其他步骤所做的那样使用输出 属性(因为您是 SOAP UI 的新手,在将使用随机值的步骤中,单击右键并执行 'Get Data' 在 DataSource 步骤上使用随机输出)
您可能也有兴趣看看这个 use case
祝你好运;)
我有一个简短的值列表:[Option_1、Option_2、Option_3]。
对于我测试的每个循环,我想从这个列表中随机选择一个值并将其分配给一个变量,然后我可以在 Soap 测试步骤中使用它。
我有一个 Groovy 脚本测试步骤:
def z = ["Option_1", "Option_2", "Option_3"]
Random rnd = new Random()
def option = z[rnd.nextInt(z.size)]
testRunner.testCase.setPropertyValue( "selectedOption", option )
在我的 Soap 测试步骤中,我尝试像这样调用变量:
<value>${#selectedOption}</value>
我离这里很近吗?我对 SoapUI 和 Groovy 都非常陌生。任何帮助将不胜感激。
您的代码是正确的,并且可以正确生成各种值,如下所示
但是您尝试访问 属性 的方式应该按以下方式完成。
由于您正在尝试访问 测试用例 属性。您应该使用以下语法
<value>${#TestCase#selectedOption}</value>
缺少此 TestCase 关键字。希望您在测试用例级别使用此 属性。如果你想在不同的测试用例中使用,你可以在套件级别设置然后使用 ${TestSuite#selectedOption}
实际上 SOAPUI (Pro) 提供了在循环中生成随机数据的可能性。 如果使用数据源循环,则可以使用 "Data Generator" 作为数据源。我很快就试过了,这可能符合你的要求。
创建数据源步骤:
- 创建一个属性(即输出)
- select 作为数据源的数据生成器
- 行数 = 1
- 属性 类型:集合中的值
- 自定义值:
- add/click 在自定义值字段中:Option_1 同上 Option_2 然后 Option_3
- add/click 再一次(空字段)=> 我不知道为什么会这样,但如果你不这样做,随机将只考虑前两个数据
- 生成模式:随机
如果您启动该循环,'output' 的内容将随机成为您的自定义值之一。 然后,您只需像通常对其他步骤所做的那样使用输出 属性(因为您是 SOAP UI 的新手,在将使用随机值的步骤中,单击右键并执行 'Get Data' 在 DataSource 步骤上使用随机输出)
您可能也有兴趣看看这个 use case
祝你好运;)