zoukankan      html  css  js  c++  java
  • SOAP UI返回脚本用 groovy脚本编写不同条件返回

    如果对于不同的条件判断,希望得到的 response有些节点不同,则可以用这种soap ui groovy脚本编写方式进行

    script编写的示例:

    --------------------------log.info的日志输出,是在 soapUI的安装路D: oolsSoapUI-5.2.1in 径下面的 文件 global-groovy.log 中有对应的记录

    ------得到mock的请求的 xml内容
    def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
    def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
    log.info("*********jiaoltjiaolt11111**********************************************************")
    def code=holder.getNodeValue("//arg1")
    log.info("code的值是:"+code)

    def remark2=holder.getNodeValue("//remark2")
    log.info("remark2的值是:"+remark2)

    def internalCode=holder.getNodeValue("//internalCode")
    log.info("internalCode的值是:"+internalCode)
     
     
    ------得到mock的返回的 xml内容
    def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
    def holder = groovyUtils.getXmlHolder(mockResponse.responseContent)
    log.info("*********jiaoltjiaolt11111**********************************************************")
    def agentCateName=holder.getNodeValue("//agentCateName")
    log.info("agentCateName的值是:"+agentCateName)

    def agentId=holder.getNodeValue("//agentId")
    log.info("agentId的值是:"+agentId)

    def internalCode=holder.getNodeValue("//internalCode")
    log.info("internalCode的值是:"+internalCode)

    log.info("**************testtest2222*****************************************************")
     
     
     ------------------------编写条件判断-------------------
    def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
    def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)
    def code=holder.getNodeValue("//arg1")
    log.info("code的值是:"+code)
    log.info("整个得到的mock请求的报文是:"+ mockRequest.requestContent)
    def successed="true"
    if (code=="2928681")
    successed="true"
    else
    successed="false"
    context.setProperty("successed",successed)

    log.info("**************testtest2222*****************************************************")
     

    对应的response的报文如下:

  • 相关阅读:
    Revit 二次开发 交互及UIAPI之TaskDialog
    Revit 二次开发 交互及UIAPI之Selection
    Revit 二次开发 元素创建与修改练习
    编译带libev和libuv的libwebsocket (Win平台)
    sqlite3存储格式
    MAC OS下编译apple跨平台的libevent库 (可延申到其它第三库)
    Unix, Linux以及NT内核和它们各自衍生的系统关系图
    简单地迁移你的android jni代码逻辑到iOS
    使用ndk交叉编译android各平台版本的第三方库
    使用Android Studio进行ndk开发的准备
  • 原文地址:https://www.cnblogs.com/xiaofeng91/p/13986079.html
Copyright © 2011-2022 走看看