2016-09-20 66 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

相關問題