如何使用soapui groovy脚本执行特殊测试用例?

如何使用soapui groovy脚本执行特殊测试用例?,groovy,soapui,Groovy,Soapui,如何使用soapui groovy脚本执行特殊测试用例 runTestCaseByName('ExitName') 找到一个可能有用的方法 代码复制到这里(并用您的套件名称更新),以供后人使用 import com.eviware.soapui.impl.wsdl.panels.support.MockTestSuiteRunner; import com.eviware.soapui.impl.wsdl.panels.support.MockTestSuiteRunContext; proj

如何使用soapui groovy脚本执行特殊测试用例

runTestCaseByName('ExitName')

找到一个可能有用的方法

代码复制到这里(并用您的套件名称更新),以供后人使用

import com.eviware.soapui.impl.wsdl.panels.support.MockTestSuiteRunner;
import com.eviware.soapui.impl.wsdl.panels.support.MockTestSuiteRunContext;

project = testRunner.getTestCase().testSuite.getProject()
testSuite = project.getTestSuiteByName( "ExitGame" )

mockRunner = new MockTestSuiteRunner( testSuite )
mockContext = new MockTestSuiteRunContext( mockRunner )
testSuite.runTearDownScript( mockContext, mockRunner )

对于上面的问题,要执行任何特定的步骤,添加另一行,则更紧凑

def tc = testRunner.testCase.testSuite.project.testSuites["TestSuite1"].testCases["TestCase3"]

def ts1 = testRunner.gotoStepByName("loginRequest1")

你也可以遵循这个-

def project = context.testCase.testSuite.project
def TestSuite = project.getTestSuiteByName("TestSuite_Name")
def testCase1 = TestSuite.getTestCaseByName("ExitGame") // Put your testCase Name here
def testStep1 = testCase1.getTestStepByName("REST Step 1") // Put your testStep Name

// Run testStep only
testStep1.run(testRunner, context)

// Run testCase [here it is "ExitGame"]
def properties = new com.eviware.soapui.support.types.StringToObjectMap()
testCase1.run(properties, false)
或者您也可以通过下面的脚本来运行testCase

testCase1.run(null, true) // You don't need to have `properties` in this case.
注意:上述脚本应位于不同的testCase/testStep中。如果它在同一个测试用例中,它将处于无限循环中