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

Allure+TestNG+Jenkins, в отчет как-то можно вставить Reporter Ouput?

Теги: #<Tag:0x00007f7481bdcc50> #<Tag:0x00007f7481bdcb60> #<Tag:0x00007f7481bdca98> #<Tag:0x00007f7481bdc9d0>

В коде тестов использую Reporter.log() для информативности стандартных отчетов. Подключив Allure данного вывода не увидел.
Его возможно подключить?

См. скриншот:

Разобрался, реализовал через @Attachment

Attachment получаю в методе afterInvocation листенера IInvokedMethodListener2

А у вас отовсюду эти вложения (@Attachment) подкладываются? А то у меня на проекте они только из одного модуля подкладываются, а от наследованного класса с переопределенным методом - не работает. Чую, что дело в каких-то листенерах и мавене, но пока не докопался до истины. :sweat:

Вроде отовсюду, у меня так сделано:

UPD:
Добавил в Base тестовый метод и переопределил его в одном из наследников - сработало нормально, аттачмент прикрепился.

У меня фреймворк с другого проекта, через мавен зацеплен в External Libraries, также как и Allure.
Если я даже в отнаследованном классе вызываю базовый метод, который в External Libraries, то отчет подкадывается и все хорошо. А вот если переопределяю в этом классе метод этот или делаю другой, с дополнительными параметрами, то уже не подкладывается. Ну, или из любого своего другого метода если буду просто вызывать @Attachment, то он тоже не сработает. При этом в базовом классе вообще не увидел отсылок к листенерам, только импорт

> import ru.yandex.qatools.allure.annotations.Attachment;

Я бы сделал не так, а вот как-то так. Создал бы allure logger:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import ru.yandex.qatools.allure.annotations.Step;

public class AllureLogger {

    private static final Logger logger = LogManager.getLogger(AllureLogger.class);

    @Step("{0}")
    public static void logToAllure(String log) {
        logger.debug("Logged to allure: " + log);
    }
}

и в тесте бы добавлял вот такое:

AllureLogger.logToAllure("Отправляем HELLO");

выглядело бы это как-то так:

Тогда можно было бы управлять и не писать что попало в аттачменты. Только прикрутить твой репортер, а не org.apache.logging.log4j.LogManager;

Если этот респонс - отдельный метод, то сделать их как @Step()

3 Симпатий

Да, так намного лучше. Спасибо!