我有两个测试套件,在第一个测试套件中,我有一个带有“运行TestCase”步骤的测试用例,它将从第二个测试套件中运行一个测试用例。我想在第二个测试套件中使用一个普通的脚本,该脚本将为我提供第一个测试套件中的测试用例名称。
注意:我不能自己提供这些名称,必须自动完成。
是否可以获得具有运行TestCase步骤的测试用例名称?
答案 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)