2016-09-20 113 views
0

有人可以请建议如何使用groovy删除SoapUI中的测试步骤吗?如何使用soapUI中的groovy删除测试步骤

在我的项目中,我有一个REST测试请求,可以在运行中生成并执行。一旦请求被提交,我想用groovy脚本自动删除这一步。

我想是这样的:

testRunner.testCase.removeTestStep("Trigger_REST_Request"); 

但这返回错误:

groovy.lang.MissingMethodException: No signature of method: com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.removeTestStep() 
is applicable for argument types: (java.lang.String) values: [Trigger_REST_Request] 
Possible solutions:  
    removeTestStep(com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStep), 
    moveTestStep(int, int) groovy.lang.MissingMethodException 

谢谢!

那么工作....有点。当我添加建议的两行时,我可以看到测试步骤已删除,但是,我现在也收到了NullPointerException。因此,NPE返回后,测试套件将退出。这是NPE错误,我得到:

Wed Sep 21 09:27:11 EST 2016:ERROR:java.lang.NullPointerException 
    java.lang.NullPointerException 
    at com.eviware.soapui.model.support.ModelSupport.dependsOn(ModelSupport.java:196) 
at com.eviware.soapui.impl.wsdl.teststeps.actions.ShowMessageExchangeAction$MessageExchangeDesktopPanel.dependsOn(ShowMessageExchangeAction.java:203) 
at com.eviware.soapui.ui.desktop.AbstractSoapUIDesktop.closeDependantPanels(AbstractSoapUIDesktop.java:101) 
at com.eviware.soapui.ui.desktop.AbstractSoapUIDesktop$InternalTestSuiteListener.testStepRemoved(AbstractSoapUIDesktop.java:190) 
at com.eviware.soapui.impl.wsdl.WsdlTestSuite.fireTestStepRemoved(WsdlTestSuite.java:277) 
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase.removeTestStep(WsdlTestCase.java:577) 
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCase$removeTestStep.call(Unknown Source) 
at Script9.run(Script9.groovy:19) 
at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:92) 
at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:141) 
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.runTestStep(AbstractTestCaseRunner.java:211) 
at com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner.runCurrentTestStep(WsdlTestCaseRunner.java:47) 
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:138) 
at com.eviware.soapui.impl.wsdl.support.AbstractTestCaseRunner.internalRun(AbstractTestCaseRunner.java:46) 
at com.eviware.soapui.impl.wsdl.support.AbstractTestRunner.run(AbstractTestRunner.java:129) 
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
at java.util.concurrent.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)  
+0

您是否尝试过在异常文本中给予您的选项? –

回答

0

如果您需要删除测试步骤,使用下面的代码:

def tc = testRunner.testCase 
def tbr = tc.getTestStepByName('ToBeRemoved') 
if (tbr != null) { 
    tc.removeTestStep(tbr) 
} 

脚本也处理的情况下,当ToBeRemoved测试步骤不存在。

+0

当我添加建议的两行时,我现在正在接收NPE异常。请参阅上面原始问题中的更新。任何想法,为什么我得到这个错误? – fambo

相关问题