SoapUI Groovy脚本未在Testcase中运行

SoapUI Groovy脚本未在Testcase中运行,groovy,soapui,testcase,Groovy,Soapui,Testcase,我正在尝试在soapUI测试用例中运行Groovy脚本 脚本除了获取响应、提取一个值并在下一个请求中使用它之外什么都不做。当我独立运行脚本时,提取工作正常。但是,当我尝试运行我的测试用例时,我得到了以下错误: 错误: java.lang.ClassCastException:java.lang.String不能强制转换为org.apache.log4j.Logger 在com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.

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

脚本除了获取响应、提取一个值并在下一个请求中使用它之外什么都不做。当我独立运行脚本时,提取工作正常。但是,当我尝试运行我的测试用例时,我得到了以下错误:

错误:

java.lang.ClassCastException:java.lang.String不能强制转换为org.apache.log4j.Logger 在com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:125)上 位于com.eviware.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.AbstractTestRunner.run(AbstractTestRunner.java:128) 位于java.util.concurrent.Executors$RunnableAdapter.call(未知源) 位于java.util.concurrent.FutureTask.run(未知源) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 位于java.lang.Thread.run(未知源)


即使从脚本中删除所有代码,也会出现错误。如果我删除了整个脚本,那么测试用例将毫无问题地运行。有人有主意吗

您的assert语句的语法不正确。如果您测试的是null,那么下面的内容将起作用:

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

看起来您也在使用断言来控制脚本逻辑,但这是错误的。if-then-else子句会让您的意图更清楚。

hi,您能展示一下您的脚本吗?当您为下一个请求调用运行程序时,它似乎与记录器有关,可能您的语法在这一部分是错误的…我的脚本执行以下断言context.response,“response Empty or Null”def jsonString=context.response def json=new groovy.json.JsonSlurper().parseText(jsonString)def jwt=json.jwt作为字符串上下文。testCase.setPropertyValue('jwt',jwt)不起作用。正如我所说,当脚本为空时,我也会收到错误消息。