Groovy 如何从项目分解脚本中获取所有测试用例总数和状态

Groovy 如何从项目分解脚本中获取所有测试用例总数和状态,groovy,soapui,Groovy,Soapui,下面是从套件分解中获取所有测试用例计数和状态的分解脚本,但我需要从项目分解中获取整个测试套件计数和状态,但不幸的是,它不支持TestRunner类的对象 def failedTestCases = 0 runner.results.each { testCaseResult -> def name = testCaseResult.testCase.name if(testCaseResult.status.toString() == 'FAILED') {

下面是从套件分解中获取所有测试用例计数和状态的分解脚本,但我需要从项目分解中获取整个测试套件计数和状态,但不幸的是,它不支持TestRunner类的对象

def failedTestCases = 0
runner.results.each { testCaseResult -> 
    def name = testCaseResult.testCase.name
    if(testCaseResult.status.toString() == 'FAILED') {
        failedTestCases++
        log.info "$name has failed"
        testCaseResult.results.each { testStepResults ->
            testStepResults.messages.each { msg -> log.info msg }
        }
     } else {
         log.info "$name works correctly"
     }
} 

在项目上,创建一个安装脚本:

project.setPropertyValue("testcasesRun","0")
project.setPropertyValue("testcasesFailed","0")
在每个测试套件上,按照以下步骤创建一个拆卸脚本:

def failedTestCases = 0
def testCasesRun = 0
runner.results.each { testCaseResult -> 
    testCasesRun++
     if(testCaseResult.status == com.eviware.soapui.model.testsuite.TestRunner.Status.FAILED) {
        failedTestCases++
    }
}

def existingFailedTestCases = new Integer( runner.testSuite.project.getPropertyValue("testcasesFailed") )
def newFailedValue = existingFailedTestCases + failedTestCases
runner.testSuite.project.setPropertyValue("testcasesFailed",newFailedValue.toString())

def existingRunTestCases =  new Integer( runner.testSuite.project.getPropertyValue("testcasesRun") )
def newRunTestCases = existingRunTestCases + testCasesRun
runner.testSuite.project.setPropertyValue("testcasesRun",newRunTestCases.toString())

运行项目后,您应该有两个项目属性,包含计数的测试用例数和失败的测试用例数。

当前脚本中到底有什么不起作用?当前脚本在测试套件分解中工作,但无法从项目分解脚本访问相同的脚本(我需要获得所有套件的测试用例计数和状态)非常感谢@steen,我已经尝试了这种方法,效果很好,在设置属性之前,只需对tostring()转换进行少量更改。{code}def newFailedValue=(existingFailedTestCases+failedTestCases)。tostring()runner.testSuite.project.setPropertyValue(“testcasesFailed”,newFailedValue){code}愉快地接受答案。