[Solved] Allure CLI не строит отчет

Да, это из-за отсутствия Java 7. Мы собираем все библиотеки под Java 7, о чем написано в вики. Можно попробовать плагины под другие CI (Teamcity, Bamboo) или генерировать отчет руками при помощи консольной утилиты (CLI). Но все они также требуют Java 7.

1 лайк

Спасибо! Пробую установить Allure CLI.
Вопрос, какой путь нужно прописать в переменных средах ALLURE_HOME?
Выходит ошибка

Error: ALLURE_HOME is set to an invalid directory.

Это папка, в которой лежит allure.bat. По-идее все должно работать из коробки, если перейти в терминале в эту папку.

а вы его собрали? (Просто я, скачав архив, долго тупил, где-же этот батник находится)

Если да, то как выше сказано, адрес папки, где лежит allure.bat

Я перетаскиваю в консоль allure.bat и такая вот ошибка выходит. Может я не то делаю?

А вы его указали в переменных среды то?

Повторила все шаги, начиная с распаковки .zip и все заработало) Похоже, действительно, что-то не то делала. И в переменные среды не пришлось ничего указывать.
Повторилось все, что описано здесь , но отчет успешно сформирован.

Удалось установить плагин allure на jenkins’е. На удаленной машине, на которой проходят тесты установила maven. Но при запуске тестов (сами тесты проходят) получается такая ошибка

Total time: 7 minutes 6 seconds
Allure Report Generation: started
Allure Report Generation: find directories by mask [**/allure-results]
16:59:37 Allure Report Generation: found allure result directories [c:\jenkins\workspace\test_selenium-clone\WebTests\build\report\target\allure-results]
16:59:37 Allure Report Generation: copy founded directories in directory [c:\jenkins\workspace\test_selenium-clone\allure6388452402703276212.tmp\results]
Allure Report Generation: generate report from directory [c:\jenkins\workspace\test_selenium-clone\allure6388452402703276212.tmp]
ERROR: Publisher ru.yandex.qatools.allure.jenkins.AllureReportPublisher aborted due to exception
java.io.IOException: remote file operation failed: c:\jenkins\workspace\test_selenium-clone\allure6388452402703276212.tmp at hudson.remoting.Channel@25a10959:win-slave: java.io.IOException: ru.yandex.qatools.allure.report.AllureReportBuilderException: java.io.FileNotFoundException: Settings file [C:\Users\user.m2\settings.xml] not found
at hudson.FilePath.act(FilePath.java:977)
at hudson.FilePath.act(FilePath.java:959)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.generateReport(AllureReportPublisher.java:232)
at ru.yandex.qatools.allure.jenkins.AllureReportPublisher.perform(AllureReportPublisher.java:141)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:770)
at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:734)
at hudson.model.Build$BuildExecution.post2(Build.java:183)
at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:683)
at hudson.model.Run.execute(Run.java:1784)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:89)
at hudson.model.Executor.run(Executor.java:240)
Caused by: java.io.IOException: ru.yandex.qatools.allure.report.AllureReportBuilderException: java.io.FileNotFoundException: Settings file [C:\Users\user.m2\settings.xml] not found
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:37)
at ru.yandex.qatools.allure.jenkins.utils.ReportGenerator.invoke(ReportGenerator.java:14)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2677)
at hudson.remoting.UserRequest.perform(UserRequest.java:121)
at hudson.remoting.UserRequest.perform(UserRequest.java:49)
at hudson.remoting.Request$2.run(Request.java:324)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:63)
at java.lang.Thread.run(Unknown Source)
at …remote call to win-slave(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1356)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:221)
at hudson.remoting.Channel.call(Channel.java:752)
at hudson.FilePath.act(FilePath.java:970)
… 12 more
Finished: FAILURE

Maven точно настроен корректно?

  • Add the M2_HOME environment variable by opening up the system properties (WinKey + Pause), selecting the “Advanced” tab, and the “Environment Variables” button, then adding the M2_HOME variable in the user variables with the value C:\Program Files\Apache Software Foundation\apache-maven-3.2.3. Be sure to omit any quotation marks around the path even if it contains spaces. Note: For Maven 2.0.9, also be sure that the M2_HOME doesn’t have a ‘’ as last character.
  • In the same dialog, add the M2 environment variable in the user
    variables with the value %M2_HOME%\bin.

Да, все верно. И проверка на корректность установки проходит.

По такому пути действительно нет этого файла C:\Users\user.m2\settings.xml

А в jenkins то что указано для maven конфигурации? И кстати setting.xml сам по себе не появляется из ниоткуда.

Дело было в том, что т.к. дженкинс-слейв работает не от системного юзера, а под юзером user - то использует локальный конфиг в папке пользователя. Пришлось скопировать в C:\Users\user.m2\settings.xml системный конфиг. Отчеты успешно собираются)

Всем привет! Использую py.test и allure-cli версии 2.3 (ставил через Homebrew). Отчеты версии 1.3.9 создает без проблем, но вот 1.4.0 выдает ошибки, хотя вроде и чего то создает. Кто нибудь знает что может быть не так?

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by 
log4j:ERROR [java.net.URLClassLoader@7bedc48a] whereas object of type 
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [sun.misc.Launcher$AppClassLoader@42a57993].
log4j:ERROR Could not instantiate appender named "console".
Successfully generated report to [/Users/rmerkushin/Projects/YATF/results]

На первый взгляд - конфликт логгеров. Отключите один и посмотрите, что будет.

А как их отключить? )

Ну вы ведь log4j dependency подключаете явно?

Нееее, я ничего не подключаю. Я вообще использую python и py.test + py.test allure adapter ))) На выходе получаю результаты в xml. Натравливаю на папку с результатами allure-cli так: allure generate D:\allure_tmp -v 1.4.0 -o D:\results
p.s.: есть только предположение что может что то не то с результатами в xml, более старая версия или что то вроде того (слышал что python версия адаптера медленнее разрабатывается)

Ну тогда лучше спросить @sidelnikovmike или @vania_pooh.

Проблема находится на стороне Allure. Мы пока что не исправили эту проблему. log4j errors while generating reports · Issue #26 · baev/allure-cli-depricated · GitHub

Спасибо! Будем ждать :smile: