需要在SoapUI中的下一个请求中使用的修剪响应值

时间:2017-12-13 05:57:16

标签: xml groovy properties soapui xmlslurper

当我发起肥皂请求时,我收到一个带有前缀91的电话号码(例如919876543210)作为回复。

我想通过传输属性将此数字用作其他请求中的输入值,但不使用前缀91(例如9876543210)。请帮助查找如何执行此操作。

我使用的是免费版SoapUI。

2 个答案:

答案 0 :(得分:1)

您不必使用Property Transfer步骤。

相反,使用以下代码为第一个请求测试步骤添加Script Assertion,其作用是:

  • 从回复中提取isdn号码
  • 修剪不需要的值
  • 将其设置为测试用例级别
  • 在下一个请求中使用Property Expansion
  • 使用上述存储的值
//Check if there is response
assert context.response

//Parse response and extract isdn value
def isdn = new XmlSlurper().parseText(context.response).'**'.find {it.name() == 'MSISDN'}.text()

//Trim first 2 digits and store at test case level
context.testCase.setPropertyValue('MSISDN', isdn.substring(2, isdn.size()))

在发送请求中,需要10位数字时,请使用as  <elementname>${#TestCase#MSISDN}</elementname>

发送第二个请求时,将替换实际值。

答案 1 :(得分:0)

//Check if there is response
//assert context.response

def input = context.expand('$ {MSISDN}')

Response = testRunner.testCase.testSteps [“JDBC请求副本”] .testRequest.response.contentAsString

//Parse response and extract isdn value

def isdn = new XmlSlurper()。parseText(Response)。'**'。find {it.name()=='MSISDN'}。text()

//Trim first 2 digits and store at test case level

context.setProperty('MSISDN',isdn.substring(2,isdn.size()))

log.info isdn.substring(2,isdn.size())