尝试添加 xpath 断言时 groovy 脚本出错
Error in groovy script while trying to add xpath assertion
我在尝试执行以下代码时遇到异常:
missing property exception
groovy 脚本中用于将 xpath 断言添加到测试用例中的代码。
请问有什么解决方法可以解决这个错误吗?
测试套件名称为 "ManagePostpayInsurance_1_0",测试步骤名称为 "getInsuranceDetails_1_FTC_005"。
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")
提前致谢
这是我能看到的错误日志:
Fri Nov 24 10:16:40 IST 2017:ERROR:groovy.lang.MissingPropertyException: No such property: project for class: Script13
groovy.lang.MissingPropertyException: No such property: project for class: Script13
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at Script13.run(Script13.groovy:7)
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:90)
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141)
at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction.run(GroovyScriptStepDesktopPanel.java:250)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
您在 getTestCaseByName(TC)getTestStepByName(StepName)
处缺少一个 .
点。
您可以解决以下错误
groovy.lang.MissingPropertyException: No such property: project for class: Script13
通过在脚本的顶部添加以下语句
def project = context.testCase.testSuite.project
我在尝试执行以下代码时遇到异常:
missing property exception
groovy 脚本中用于将 xpath 断言添加到测试用例中的代码。
请问有什么解决方法可以解决这个错误吗?
测试套件名称为 "ManagePostpayInsurance_1_0",测试步骤名称为 "getInsuranceDetails_1_FTC_005"。
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")
提前致谢
这是我能看到的错误日志:
Fri Nov 24 10:16:40 IST 2017:ERROR:groovy.lang.MissingPropertyException: No such property: project for class: Script13 groovy.lang.MissingPropertyException: No such property: project for class: Script13 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231) at Script13.run(Script13.groovy:7) at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:90) at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141) at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction.run(GroovyScriptStepDesktopPanel.java:250) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
您在 getTestCaseByName(TC)getTestStepByName(StepName)
处缺少一个 .
点。
您可以解决以下错误
groovy.lang.MissingPropertyException: No such property: project for class: Script13
通过在脚本的顶部添加以下语句
def project = context.testCase.testSuite.project