首页 > 解决方案 > SoapUI Groovy 脚本未在 Testcase 中运行

问题描述

我正在尝试在soapUI 测试用例中运行Groovy 脚本。

该脚本什么都不做,只是获取响应,提取一个值并在下一个请求中使用它。当我独立运行我的脚本时,提取工作。但是,一旦我尝试运行我的测试用例,我就会收到以下错误:

错误:

java.lang.ClassCastException:java.lang.String 无法在 com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:125) 处转换​​为 org.apache.log4j.Logger。 soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:211) 在 com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:47) 在 com.eviware.soapui.impl。 wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:138) 在 com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:46) 在 com.eviware.soapui.impl.wsdl.support。在 java.util.concurrent 的 java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 的 AbstractTestRunner.run(AbstractTestRunner.java:128)。FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

即使我从脚本中删除所有代码,我也会收到错误消息。如果我删除整个脚本测试用例运行没有问题。有人有想法吗?

标签: groovysoapuitestcase

解决方案


您的断言语句的语法不正确。如果您正在测试 null,则类似以下内容将起作用:

assert !context.response: "Response Empty or Null"

看起来您也正在使用断言来控制脚本逻辑,但这不是一个好习惯。if-then-else 子句会让你的意图更清晰。


推荐阅读