You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SOAPUI 5.3测试套件级别:如何获取并打印测试步骤编号至日志

解决SoapUI 5.3测试套件级别打印测试步骤编号、名称及状态的问题

嗨,我懂你现在的困扰——已经能打出测试步骤的名称和状态,但就是拿不到对应的编号对吧?其实问题出在遍历方式上:测试套件下是测试用例,测试步骤是属于每个测试用例的,而且普通的遍历方法没法直接拿到索引,得用eachWithIndex来搞定!

给你一份可以直接用的Groovy脚本,把它放在测试套件的TearDown Script里(这样测试套件运行完就会自动执行):

// 获取当前测试套件
def testSuite = context.testSuite

// 遍历测试套件下的每个测试用例
testSuite.testCases.each { testCase ->
    // 遍历当前测试用例下的所有测试步骤,同时获取索引(索引从0开始)
    testCase.testSteps.eachWithIndex { testStep, index ->
        // 把索引+1变成从1开始的编号,符合日常使用习惯
        def stepNumber = index + 1
        // 打印编号、名称、状态
        log.info "测试步骤编号:${stepNumber} | 名称:${testStep.name} | 状态:${testStep.status}"
    }
}

关键说明:

  • eachWithIndex是Groovy里的遍历方法,能同时拿到遍历的元素和它的索引值,这就是你之前没拿到编号的核心原因——普通的each只能拿到测试步骤,拿不到索引。
  • 索引默认从0开始,所以用index + 1转换成从1开始的编号,更符合我们对“步骤编号”的认知。
  • 如果你的测试套件里有多个测试用例,想要区分是哪个测试用例下的步骤,可以在打印时加上测试用例名称,比如:
    log.info "测试用例:${testCase.name} | 测试步骤编号:${stepNumber} | 名称:${testStep.name} | 状态:${testStep.status}"
    

这样运行完测试套件后,你就能在日志里看到完整的测试步骤编号、名称和状态啦!

内容的提问来源于stack exchange,提问作者user7100986

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:51:09