代码之家  ›  专栏  ›  技术社区  ›  Nexus5 Siingh

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

  •  0
  • Nexus5 Siingh  · 技术社区  · 7 年前

    当我启动soap请求时,我会收到一个前缀为91的电话号码作为响应(例如919876543210)。

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

    我正在使用免费版本的SoapUI。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Rao CrashOverload    7 年前

    您不必使用 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位数字,请使用 <elementname>${#TestCase#MSISDN}</elementname>

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

        2
  •  0
  •   Nexus5 Siingh    6 年前
    //Check if there is response
    //assert context.response
    

    def输入=上下文。展开(“${MSISDN}”)

    响应=testRunner。测试用例。测试步骤[“JDBC请求的副本”]。测试请求。回答内容字符串

    //Parse response and extract isdn value
    

    def isdn=新XmlSlurper()。parseText(响应)。“**”。查找{it.name()==“MSISDN”}。文本()

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

    上下文setProperty('MSISDN',isdn.substring(2,isdn.size()))

    日志信息isdn。子字符串(2,isdn.size())