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
相关产品推荐
相关产品推荐

