使用groovy在soapui中传输属性

使用groovy在soapui中传输属性,groovy,soapui,Groovy,Soapui,是否有任何方法可以使用groovy脚本将属性值从soap测试用例响应转移到另一个soap测试步骤?请查找响应结构 2016-04-19T16:58:12.141 ar-eg 2016-11-02T13:58:09 英国英语 费里 法夫里特尔 比林QRS V1.0 0045d98c-e81c-43fd-b887-b0b1a1b1641d 1a50b367-4aca-4d90-9f95-ddca99e8639d 法夫里特尔 11427 200 信息 成功 销售时点情报系统 0120000200

是否有任何方法可以使用groovy脚本将属性值从soap测试用例响应转移到另一个soap测试步骤?请查找响应结构


2016-04-19T16:58:12.141
ar-eg
2016-11-02T13:58:09
英国英语
费里
法夫里特尔
比林QRS
V1.0
0045d98c-e81c-43fd-b887-b0b1a1b1641d
1a50b367-4aca-4d90-9f95-ddca99e8639d
法夫里特尔
11427
200
信息
成功
销售时点情报系统
0120000200
111
2 EECCAE-8fd2-4d41-903a-df2ef96d5264
全天
370
EGP
2016-08-01

您可以对接收到响应的同一请求步骤使用
脚本断言。可以避免使用单独的
Groovy脚本
步骤。因此,在将响应保存为属性之前,请检查响应中的所需值

脚本断言:

/**
* This is script assertion
* retrieves specified values from currest step response
* and stores at test case level
**/

//Closure to search the data
def searchData = { data, item ->
    data?.'**'.find { it.name() == item} as String
}
//Assert the response.
assert context.response, "Response is empty or null"

def parsedData = new XmlSlurper().parseText(context.response)

//Get Amount
def amt = searchData(parsedData, 'Amt')
log.info "Amount from response: ${amt}"
//Check the value amt
assert amt, "Amount is empty or not present"
//Store Amount at test case level
context.testCase.setPropertyValue('AMOUNT', amt)


//Get AsyncRqUID
def rqUid = searchData(parsedData, 'AsyncRqUID')
log.info "AsyncRqUID from response: ${rqUid}"
//Check the value rqUid
assert rqUid, "AsyncRqUID is empty or not present"
//Store RqUid at test case level
context.testCase.setPropertyValue('AsyncRqUID', rqUid)
上述将取值
370
作为金额,取值
1a50b367-4aca-4d90-9f95-ddca99e8639d
作为异步货币

在需要检索到这些值的其他测试请求步骤中,请按如下所示使用:

  • 对于金额(Amt),
    ${TestCase#Amount}
    。示例
    ${#TestCase#AMOUNT}
  • 对于RqUID,
    ${TestCase}异步RqUID}
    。示例
    ${#TestCase#AsyncRqUID}

你能详细说明这个问题吗?i、 物业在哪里?您希望如何使用它们?这些属性存在于soap测试步骤响应中,并希望将它们转移到测试套件级别(从响应中提取金额并将其添加到同一测试用例中的所有其他步骤)。实际属性是Amt、AsyncRqUID和BillRefNumbers,请选择响应或原始响应的示例结构?检索值用于其他测试步骤请求,对吗?是的,Rao iam使用相同TC中其他测试步骤中这些属性的检索值,对于响应结构,我用响应结构的屏幕截图更新了问题响应文本会很有帮助。问题是我不能将其用于测试套件级别,因为每个测试用例都有其数量&根据注释,AsyncRqUIDUpdated答案,请重新检查答案。很高兴知道答案很有帮助。祝你今天愉快。