在SOAP UI 5.21中将Groovy脚本响应传递给属性

时间:2015-12-23 07:31:39

标签: groovy soapui

任何人都可以知道如何将groovyscript响应传递到SOAP UI的属性步骤。我试图使用groovy脚本生成随机数,当我得到随机生成的数字时,我如何将该值传递给soap ui中的属性,可以将TC用作参数值。

TIA

2 个答案:

答案 0 :(得分:2)

为了简单起见,

使用以下代码存储任何值,

  • 测试用例级自定义属性:
  

testRunner.testCase.setPropertyValue( “PROPERTYNAME”, “值”);

  • 测试套件级自定义属性:
  

testRunner.testCase.testSuite.setPropertyValue( “PROPERTYNAME”, “值”);

  • 项目级自定义属性:
  

testRunner.testCase.testSuite.project.setPropertyValue( “PROPERTYNAME”, “值”);

使用以下代码检查值是否在运行时成功存储:

  • 测试用例级别:
  

log.info testRunner.testCase.getPropertyValue(“propertyName”);

  • 测试套件级别:
  

log.info testRunner.testCase.testSuite.getPropertyValue(“propertyName”);

  • 项目级别:
  

log.info testRunner.testCase.testSuite.project.getPropertyValue(“propertyName”);

使用下面的代码在任何地方使用属性值,

  • 测试用例级别:
  

$ {#测试用例#propertyName的}

  • 测试套件级别:
  

$ {#的TestSuite#propertyName的}

  • 项目级别:
  

$ {#项目#propertyName的}

  • 全球水平:
  

$ {#全局#propertyName的}

答案 1 :(得分:1)

在这里:

以下groovy脚本代码段将生成一个随机数,并将值设置为测试用例级自定义属性,例如PROPERTY_NAME

Groovy脚本

context.testCase.setPropertyValue('PROPERTY_NAME', (Math.abs(new Random().nextInt()) + 1).toString())

在同一测试用例中,可以在${#TestCase#PROPERTY_NAME}

的任何测试请求中访问它

编辑:根据您想要的更改,虽然原始代码可以正常工作

def a = 9 
def AccountName = ''
(0..a).each {  AccountName = AccountName + new Random().nextInt(a) } 
context.testCase.setPropertyValue('Property_Name', AccountName.toString())

即使您使用以下内容实现了相同的功能(只需将 nextInt()中的更新值更改为第一个答案)

context.testCase.setPropertyValue('PROPERTY_NAME', (Math.abs(new Random().nextInt(999999998)) + 1).toString())