我是脚本新手,可以使用一些帮助。我有关于SoapUI groovy脚本的问题,我可以使用帮助。
我需要一个脚本,让我根据testSuite属性的值(' CC1'是属性名称)在testCase中运行特定的testStep,有5种可能性。我想可以使用switch / case,但不知道如何正确编写它。
目前我尝试使用它:
def CC1 = testRunner.testCase.testSuite.getPropertyValue("CC1")
log.info testRunner.testCase.testSuite.getPropertyValue("CC1")
switch(CC1)
{
case ~/^[H1]+$/: testRunner.runTestStepByName( "PT02_H1" ); break;
case ~/^[Y5]+$/: testRunner.runTestStepByName( "PT02_Y5" ); break;
case ~/^[Q2]+$/: testRunner.runTestStepByName( "PT02_Q2" ); break;
case ~/^[T5]+$/: testRunner.runTestStepByName( "PT02_T5" ); break;
default : testRunner.runTestStepByName( "PT02_AQ" );
}
但是没有完成所需的步骤。
有人可以帮我这个吗?
答案 0 :(得分:0)
尝试以下脚本(从groovyTestStep运行):
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
def testCase = testRunner.testCase;
def testStep = null;
def CC1 = testRunner.testCase.testSuite.getPropertyValue("CC1")
log.info testRunner.testCase.testSuite.getPropertyValue("CC1")
switch(CC1)
{
case ~/^[H1]+$/: testStep = testCase.getTestStepByName( "PT02_H1" ); break;
case ~/^[Y5]+$/: testStep = testCase.getTestStepByName( "PT02_Y5" ); break;
case ~/^[Q2]+$/: testStep = testCase.getTestStepByName( "PT02_Q2" ); break;
case ~/^[T5]+$/: testStep = testCase.getTestStepByName( "PT02_T5" ); break;
default : testStep = testCase.getTestStepByName( "PT02_AQ" );
}
testRunner = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner(testCase, null);
testStepContext = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestRunContext(testStep);
testStep.run(testRunner, testStepContext);
log.info "TEST OK:"+testStep.getName();