使用Groovy脚本遍历SOAP UI中的所有测试用例和测试步骤

使用Groovy脚本遍历SOAP UI中的所有测试用例和测试步骤,groovy,soapui,Groovy,Soapui,作为测试套件拆卸过程的一部分,我希望循环遍历之前运行的所有测试用例和测试步骤,并捕获结果和断言。我对groovy脚本不是很在行,这看起来很简单,但到目前为止还不太顺利。这主要是因为我不熟悉对象模型,也没有“智能感知”来指导我。我只需要一个贝壳开始 此外,我还有一个循环,它多次执行相同的测试步骤,并输入不同的数据集。我不确定这是否有区别 这是我的贝壳: def testCases = context.testCase.testSuite.getTestCaseList() testCases.ea

作为测试套件拆卸过程的一部分,我希望循环遍历之前运行的所有测试用例和测试步骤,并捕获结果和断言。我对groovy脚本不是很在行,这看起来很简单,但到目前为止还不太顺利。这主要是因为我不熟悉对象模型,也没有“智能感知”来指导我。我只需要一个贝壳开始

此外,我还有一个循环,它多次执行相同的测试步骤,并输入不同的数据集。我不确定这是否有区别

这是我的贝壳:

def testCases = context.testCase.testSuite.getTestCaseList()
testCases.each
{
    log.info "~~~Test Case:" + it.name
    for(testSteps in it.testStepList)
    {
        log.info "~~~Test Step:" + testSteps.name
    }
}
但我得到了这个错误。。。
Wed Nov 04 15:53:44 EST 2015:错误:发生错误[无法获取null对象上的属性'testSuite',有关详细信息,请参阅错误日志

如果您在测试套件的拆卸脚本中使用它,那么下面的代码段可以帮助您

testSuite.testCaseList.each {
   log.info "Test Case : ${it.name}"
   it.testStepList.each {
      log.info "Test Step : ${it.name}"
   }
}
请注意,testsuite的拆卸脚本可以使用以下变量,这些变量也可以在soapUI中注意到

log, context, runner, testSuite
您可以从中看到您试图实现的目标,即获得运行testSuite的所有结果

关于您的错误:

Wed Nov 04 15:53:44 EST 2015:错误:发生错误[无法获取null对象上的属性'testSuite',有关详细信息,请参阅错误日志

问题在于,如果使用
tearDown script
中的play按钮直接测试单独执行的
tearDown script
,则会丢失一些变量,在本例中,context.testCase为null,这就是您收到此错误消息的原因。只有在执行整个testSuite时,此变量才可用


希望有帮助,

这个答案也很有用。虽然我不完全理解“it”语法。让我简单介绍一下它的作用。测试套件包含测试用例列表。然后以每个测试用例为例,然后记录它的名称,当然,如果需要的话,我们会在这里添加业务逻辑。同样,每个测试用例都包含测试步骤列表,并循环通过每个步骤。希望现在好些。