t.me/atinfo_chat Telegram группа по автоматизации тестирования

Установка TestCaseID в рантайме Java/Allure/TestNG

Теги: #<Tag:0x00007f9b041e9500> #<Tag:0x00007f9b041e9370>

Всем привет!

Интересует возможность прикрепить TestCaseId в рантайме, по причине того что эти самые айди приходят с внешнего ресурса и до запуска не известны. Могу ли я как-то вытащить текущий тест и добавить ему желаемое значение?

Я для етого написал свою анотацию и в @Attachment к каждому тесту добавляю ссилку на тест кейс, @Attachment работает в лисенере после каждого теста

Спасибо, попробую и ваш метод.
Пока решил при помощи LifecycleListener

можете пример виложить , а то не юзал еще листенер алюра

import ru.yandex.qatools.allure.Allure;
import ru.yandex.qatools.allure.config.AllureModelUtils;
import ru.yandex.qatools.allure.events.TestCaseStartedEvent;
import ru.yandex.qatools.allure.experimental.LifecycleListener;

public class AllureListener extends LifecycleListener {

    static {
        // add this listener to allure lifecycle as described in LifecycleListener doc
        Allure.LIFECYCLE.addListener(new AllureListener());
    }

    @Override
    public void fire(TestCaseStartedEvent event) {
        // get test case id in runtime from description(just for example)
        String testCaseId = findIdByDescription(event.getDescription().getValue());
        // assign testCaseId to allure report
        super.fire(event.withLabels(AllureModelUtils.createTestLabel(testCaseId)));
    }
}

где подключить етот лисенер ?