#java #testing #automated-tests #allure
Вопрос:
Как создать отчет Allure из кода Java?
Прямо сейчас я использую терминал вместе с allure-comandline в качестве allure generate build/allure-results --clean
Я хотел бы автоматически сгенерировать его после завершения набора тестов. Я провел небольшое исследование и нашел это https://mvnrepository.com/artifact/io.qameta.allure/allure-generator но, к сожалению, это не работает, или я не знаю, как его правильно использовать.
Также попробовал это:
new AllureReportBuilder("1.5.4", new File("build/allure-report")).unpackFace();
new AllureReportBuilder("1.5.4", new File("build/allure-report")).processResults(new File("build/allure-results"));
У кого-нибудь есть рабочий код? Спасибо!
Ответ №1:
Я предполагаю, что вы используете Maven/Gradle для запуска тестов. Почему бы не использовать плагин Maven/Gradle для создания отчетов?
Ответ №2:
new AllureReportBuilder("1.5.4", new File("build/allure-report")).unpackFace();
new AllureReportBuilder("1.5.4", new File("build/allure-report")).processResults(new File("build/allure-results"));
Если приведенный выше код, который вы написали, действительно создает отчет, то вы можете использовать его в чем-то подобном.
// This will run only once, just before program is exiting
static {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
new AllureReportBuilder("1.5.4", new File("build/allure-report")).unpackFace();
new AllureReportBuilder("1.5.4", new File("build/allure-report")).processResults(new File("build/allure-results"));
}));
}
Добавьте приведенный выше код в свой базовый тестовый класс (если у вас нет базового тестового класса, просто добавьте его в существующий тестовый класс). Он будет выполнен после выполнения всех тестов.
Комментарии:
1. нет,
new AllureReportBuilder("1.5.4", new File("build/allure-report")).unpackFace(); new AllureReportBuilder("1.5.4", new File("build/allure-report")).processResults(new File("build/allure-results"));
совсем не работает. В этом проблема 😉 не в том, как выполнить код, но спасибо за воспроизведение 😉