获取SoapUI-project中的所有测试用例和测试步骤

Get all test cases and test steps in SoapUI-project

我正在寻找一种在 SoapUI Pro 中获取所有测试用例的方法。

我已经设法在一个测试用例下完成了所有测试步骤(Groovy 在设置脚本中)

def projectName= testRunner.testCase.testSuite.project.getName()   
def testcaseName = testRunner.getTestCase().getName()   

File myTestFile = new File("C:/temp/" + projectName + ".txt")

myTestFile .withWriterAppend{ out ->

            out.println("TestCase: " + testcaseName)
                testRunner.testCase.getTestStepList().each(){
                    out.println("TestStep: " + it.getName())

    }



}

如何获取所有测试用例和测试步骤?

这将帮助您:

for ( testSuite in testRunner.testCase.testSuite.project.getTestSuiteList() ) {
    for ( testCase in testRunner.testCase.testSuite.getTestCaseList() ) {
        for ( testStep in testCase.getTestStepList() ) {
            log.info "${testSuite.getName()} : ${testCase.getName()} : ${testStep.getName()} is a test step of type: ${testStep.getClass().toString().tokenize('.')[-1]}"
        }
    }
}

我无法在 上发表评论(<50 声望)或编辑(编辑队列已满),但我在这里对将使用他的代码的任何人进行了一些更改。

如果代码在案例上下文中执行,第二个 for 总是调用当前的 TestSuite。改为从第一个 for 调用 TestSuite,这样:

for ( testSuite in testRunner.testCase.testSuite.project.getTestSuiteList() ) {
    for ( testCase in testSuite.getTestCaseList() ) {
        for ( testStep in testCase.getTestStepList() ) {
            log.info "${testSuite.getName()} : ${testCase.getName()} : ${testStep.getName()} is a test step of type: ${testStep.getClass().toString().tokenize('.')[-1]}"
        }
    }
}

全部归功于ou_ryperd