2016-09-20 4 views
0

Может кто-нибудь, пожалуйста, сообщите, как удалить тестовый шаг в SoapUI с помощью groovy?Как удалить тестовый шаг с использованием groovy в soapUI

В моем проекте у меня есть запрос на тест REST, который генерируется и выполняется на лету. Как только запрос будет отправлен, я хотел бы автоматически удалить этот шаг, используя строгий скрипт.

Я пытался что-то вроде:

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

Смежные вопросы