我有两个测试套件,在第一个测试套件中,我有一个步骤为"Run TestCase“的测试用例,它将运行第二个测试套件中的测试用例。我希望在第二个测试套件中有一个groovy脚本,它将为我提供来自第一个测试套件的测试用例名称。
注意:我不能自己提供这些名字,它必须自动完成。
有没有可能得到一个带有run TestCase步骤的测试用例名称?

发布于 2018-10-22 18:40:20
您可以使用下面的代码来获取包含"run TestCase step“的步骤
// 解释 :-获得了TestSuite的迭代器。使用该迭代器遍历所有测试用例,然后遍历所有测试步骤
//然后检查是否有测试步骤的名称为"Run“
这是您可以在任何测试用例中找到该测试套件下的测试步骤。
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()发布于 2018-10-23 00:32:11
在目标testCase (1b)中,创建一个“caller”自定义属性。然后,在源testCase (1a)中,在“运行测试用例”步骤之前,创建一个groovy脚本来恢复您的测试名称:
testName = testRunner.testCase.name
return testName执行运行测试用例步骤时,将${Groovy }设置为‘Script#result’属性的值
然后,在目标的groovy步骤中,恢复调用者的值
def caller = context.expand( '${#TestCase#caller}' )
log.info caller这不是非常直接,但它可能会满足您的需求
亚历山大
https://stackoverflow.com/questions/52869169
复制相似问题