Excel 尝试添加xpath断言时groovy脚本出错

Excel 尝试添加xpath断言时groovy脚本出错,excel,xpath,groovy,soapui,assertion,Excel,Xpath,Groovy,Soapui,Assertion,我在尝试执行以下代码时遇到以下异常: 缺少属性异常 groovy脚本中用于将xpath断言添加到测试用例中的代码 请问有什么可能的解决方法来解决这个错误吗 它的测试套件名称为“ManagePostpayInsurance_1_0”,测试步骤名称为“getInsuranceDetails_1_FTC_005” 提前谢谢 这是我能够看到的错误日志: 2017年11月24日星期五10:16:40:错误:groovy.lang.MissingPropertyException:无此类属性:类的项目:Sc

我在尝试执行以下代码时遇到以下异常:

缺少属性异常

groovy脚本中用于将xpath断言添加到测试用例中的代码

请问有什么可能的解决方法来解决这个错误吗

它的测试套件名称为“ManagePostpayInsurance_1_0”,测试步骤名称为“getInsuranceDetails_1_FTC_005”

提前谢谢

这是我能够看到的错误日志:

2017年11月24日星期五10:16:40:错误:groovy.lang.MissingPropertyException:无此类属性:类的项目:Script13 groovy.lang.MissingPropertyException:没有此类属性:类的项目:Script13 位于org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) 位于org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) 位于org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231) 运行(Script13.groovy:7) 在com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:90) 在com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141)上 在com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScript StepDesktopPanel$RunAction$1.run(GroovyScript StepDesktopPanel.java:250) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源)


您在
getTestCaseByName(TC)getTestStepByName(StepName)
处缺少一个
点。您可以解决以下错误

groovy.lang.MissingPropertyException:没有此类属性:类的项目:Script13

通过在脚本顶部添加以下语句


请显示错误的完整跟踪。感谢@Rao对其进行调查。。。我无法跟踪错误的确切位置,因为我无法一步一步地调试它…这就是我遇到的错误:“groovy.lang.MissingPropertyException:无此类属性:类的项目:第7行的脚本11错误”,谢谢,在底部,您可以看到错误日志。通过右键单击清除它并复制问题,捕获日志并编辑问题并粘贴上面提到的日志是错误日志@Rao,Thanksambid,请检查解决方案以查看是否有帮助。如果这解决了上述错误,如果您对其进行标记,我们将不胜感激
log.info("Testing Start")
TSName = "ManagePostpayInsurance_1_0"
StepName = "getInsuranceDetails_1_FTC_005"
project.getTestSuiteList().each {
    if(it.name == TSName) {
        TS = it.name
        it.getTestCaseList().each {
            TC =it.name
            def asserting = project.getTestSuiteByName(TS).getTestCaseByName(TC).getTestStepByName(StepName).getAssertionByName("XPath Match")
            if (asserting instanceof com.eviware.soapui.impl.wsdl.teststeps.assertions.basic.XPathContainsAssertion) {
                project.getTestSuiteByName(TS).getTestCaseByName(TC)getTestStepByName(StepName).removeAssertion(asserting)
            }
            def assertion = project.getTestSuiteByName(TS).getTestCaseByName(TC)getTestStepByName(StepName).addAssertion("XPath Match")
            assertion.path = "declare namespace cor='http://soa.o2.co.uk/coredata_1';\ndeclare namespace man='http://soa.o2.co.uk/managepostpayinsurancedata_1';\ndeclare namespace soapenv='http://schemas.xmlsoap.org/soap/envelope/';\n"
            assertion.expectedContent = "200"   
        }
    }

}
log.info("Testing Stop")
def project = context.testCase.testSuite.project