获得具有运行TestCase步骤的TestCase名称的Groovy脚本

时间:2018-10-18 07:38:28

标签: groovy soapui

我有两个测试套件,在第一个测试套件中,我有一个带有“运行TestCase”步骤的测试用例,它将从第二个测试套件中运行一个测试用例。我想在第二个测试套件中使用一个普通的脚本,该脚本将为我提供第一个测试套件中的测试用例名称。

注意:我不能自己提供这些名称,必须自动完成。

是否可以获得具有运行TestCase步骤的测试用例名称?

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以使用下面的代码来掌握具有“运行TestCase步骤”的步骤

// 说明:-获得了TestSuite的迭代器。使用该迭代器遍历所有测试用例,然后遍历所有测试步骤

//然后检查是否有任何测试步骤的名称为“ Run TestCase”

这是您可以在任何测试用例中在该测试套件下找到测试步骤的地方。

for(tc in testRunner.testCase.testSuite.getTestCaseList())
{
for(ts in  tc.getTestStepList())
  {
   if( ts.getName()=="Run TestCase")
   {
    log.info "Found that step "
    log.info "TestCaseName = " + tc.getName()
    log.info "TestSuiteName = " + testRunner.testCase.testSuite.getName()

  }
 }
}

您可以在项目级别进行进一步研究,并通过制作一个 外部循环

testRunner.testCase.testSuite.project.getTestSuiteList()

答案 1 :(得分:0)

在目标testCase(1b)中,创建一个“ caller”自定义属性。 然后,在您的源testCase(1a)中,在“运行测试用例步骤”之前,创建一个常规脚本来恢复您的测试名称:

    testName = testRunner.testCase.name
    return testName

在执行运行测试用例步骤时,将$ {Groovy Script#result}设置为'caller'属性的值

然后在目标的常规步骤中,恢复调用方的值

    def caller = context.expand( '${#TestCase#caller}' )
    log.info caller

这不是很简单,但是可以满足您的需求

亚历山大(Alexandre)