Groovy-скрипт, который получает имя TestCase с шагом выполнения TestCase - PullRequest
0 голосов
/ 18 октября 2018

У меня есть два набора тестов, в первом наборе тестов у меня есть тестовый набор с шагом «Run TestCase», который будет запускать тестовый набор из второго набора тестов.Я хотел бы, чтобы во втором наборе тестов был отличный сценарий, который предоставит мне имя тестового набора из первого набора тестов.

Примечание: я не могу предоставить эти имена самостоятельно, это должно быть сделано автоматически.

Можно ли получить имя тестового примера, в котором есть шаг выполнения TestCase?

enter image description here

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

В вашей целевой testCase (1b) создайте пользовательское свойство 'caller'.Затем в исходном testCase (1a) перед «шагом запуска тестового примера» создайте скрипт groovy для восстановления имени вашего теста:

    testName = testRunner.testCase.name
    return testName

Когда вы выполняете шаг запуска тестового примера, установите $ {GroovyScript # result} в качестве значения свойства 'caller'

Затем на шаге groovy своей цели восстановите значение вызывающего, выполнив

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

Это не очень просто, но может удовлетворить ваши потребности

Александр

0 голосов
/ 22 октября 2018

Вы можете использовать приведенный ниже код, чтобы заполучить этот шаг, который имеет «run TestCase step

// объяснение : - Получил итератор для TestSuite. Используя этот итератор, проходящий черезвсе тестовые сценарии, а затем через все этапы тестирования

// затем проверяем, имеет ли какой-либо тестовый шаг это имя "Run TestCase"

. Здесь вы можете найти шаг теста под этим набором тестов в любом изtestcases.

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()
...