groovy.lang.missingpropertyexception无此类属性:类的groovy utils

groovy.lang.missingpropertyexception无此类属性:类的groovy utils,groovy,soapui,assertions,Groovy,Soapui,Assertions,在SoapUI中,我试图读取响应xml并执行assert equals,这是//我的代码 import com.eviware.soapui.support.XmlHolder import com.eviware.soapui.support.* responseHolder = groovyUtils.getXmlHolder ( testRunner.testCase.testSteps["NDCIssueTKT"].testRequest.response.responseCo

在SoapUI中,我试图读取响应xml并执行assert equals,这是//我的代码

import com.eviware.soapui.support.XmlHolder
import com.eviware.soapui.support.*

 responseHolder = groovyUtils.getXmlHolder
 ( 
 testRunner.testCase.testSteps["NDCIssueTKT"].testRequest.response.responseContent );
      responseHolder.declareNamespace("ns1","http://TKT.svc")
     CDATAXml = respXmlHolder.getNodeValue("//ns1:NDCIssueTKTResult")
      log.info(CDATAXml)
        CDATAXmlHolder = new XmlHolder(CDATAXml)
      errorMSG = CDATAXmlHolder.getNodeValue("//description")
          log.info("errorMSG = $errorMSG")
            assert errMSG == propTestStep.getPropertyValue("Response")
但我没有这样的财产例外,有人能帮忙吗

编辑:基于评论

<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsd="w3.org/2001/XMLSchema" xmlns:xsi="w3.org/2001/XMLSchema-instance">
      <NDCIssueTKTResponse xmlns="TKT.svc">
         <NDCIssueTKTResult>
            <err xmlns="web2200/webservices/">
               <code>11000011</code>
               <description>FBA ERROR: incorrect quantity.</description>
               <level>200</level>
            </err>
         </NDCIssueTKTResult>
      </NDCIssueTKTResponse>
   </s:Body>
</s:Envelope>
您可以使用相同的请求步骤,如下所示:

脚本断言

//Check if the response is not null or empty
assert context.response, 'response is null or empty'

//Define the expected description
def expectedDescription = 'FBA ERROR: incorrect quantity.'​
def pXml = new XmlSlurper().parseText(context.response)
def actualDescription = pXml.'**'.find {it.name() == 'description'}​​
assert actualDescription == ​expectedDescription, 'Description is not matching'
同样,如果要断言
code
,请执行以下操作:

def expectedCode = 11000011
def actualCode = pXml.'**'.find {it.name() == 'code'}
assert actualCode == expectedCode, 'Code does not match'
你可以在线快速尝试

编辑:基于OP的评论。

看起来您正在使用带有固定值的
Groovy脚本
测试步骤。如果按照建议使用
脚本断言
,您不必有额外的测试步骤(groovy脚本步骤)。

请显示您正在处理的响应。---<代码>11000011FBA错误:数量不正确。200这是响应。请检查答案。实际上,我想检查不同的值。如果我采用这种方法,我必须将xml动态更改为生成的响应,因此,您能告诉我如何始终更改我在这里定义的xml以动态选择响应xml吗?看起来您正在使用groovy脚本测试步骤。如果使用
脚本断言
,则它始终仅处理动态响应。在答案中添加了链接-如果您不知道如何创建脚本断言。你在说同样的事吗?或者谈论期望值?你一开始试过了吗?这有帮助吗?我正在做一个数据驱动测试,这样我的msgs和标签将在负数据和正数据上发生变化,而负数据将根据我错误传递的值出现不同的错误消息。但是对于肯定的,我认为我可以用脚本断言来处理它,因为标记将保持不变。我建议将其作为基本脚本进行尝试,看看是否有帮助。我相信你可以使用上面的一个作为基础,并根据你的情况进行必要的更改。如果你发现上面的内容是有帮助的,并且回答了原来的问题,那么考虑一下@ USER 3607077,如果你能接受它,那么就要感谢它对原来的问题的回答。