Возникает ошибка при генерации отчётов. Использую pytest (v.3.2.2), allure commandline (v.2.3.5), python (v.3.6.2) и pytest allure adapter (установил с помощью pip install pytest-allure-adaptor). Здесь pytest-allure-adaptor · PyPI написано, что плагин поддерживает только Allure 1.4.x версии - имеется в виду версия commandline? Я пробовал ставить 1.4, но ошибка всё равно возникает. Последовательность действий такая:
тесты прогнались, в директории появилась новая папка “report”, в ней есть .xml-файл;
запускаю allure generate D:\project\report -o D:\project или allure serve D:\project\report и т.д. - получаю ошибку:
========================= 9 passed in 128.02 seconds ==========================
Generating report to temp directory...
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBEx
ception
at io.qameta.allure.allure1.Allure1Plugin.xmlFiles(Allure1Plugin.java:39
3)
at io.qameta.allure.allure1.Allure1Plugin.getStreamOfAllure1Results(Allu
re1Plugin.java:388)
at io.qameta.allure.allure1.Allure1Plugin.readResults(Allure1Plugin.java
:103)
at io.qameta.allure.ReportGenerator.lambda$readResults$0(ReportGenerator
.java:32)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1378)
at io.qameta.allure.ReportGenerator.readResults(ReportGenerator.java:32)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipe
line.java:195)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipe
line.java:177)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(A
rrayList.java:1492)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline
.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractP
ipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Redu
ceOps.java:913)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline
.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipelin
e.java:511)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:54)
at io.qameta.allure.ReportGenerator.generate(ReportGenerator.java:43)
at io.qameta.allure.Commands.generate(Commands.java:88)
at io.qameta.allure.Commands.serve(Commands.java:112)
at io.qameta.allure.CommandLine.run(CommandLine.java:136)
at java.base/java.util.Optional.orElseGet(Optional.java:361)
at io.qameta.allure.CommandLine.main(CommandLine.java:72)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinCla
ssLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(C
lassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 21 more
Подскажите, пожалуйста, в чём проблема. Заранее спасибо!
UPD: Установлен Java JDK-9, путь к нему указан в переменной окружения - всё, как указано в документации.
allure generate вы из директории allure-commandline\bin запускаете?
Попробуйте добавить в команду allure generate D:\project\report -o D:\project –clean
Видимо, ошибка была в том, что запускал generate из той же директории, где и проект. Хотя, в переменную окружения PATH ведь добавлено было - это настолько принципиально? В любом случае, большое спасибо, Ильдар!
У меня похожая проблема, но не совсем. Есть тест на Java, с применением Allure.При генерации отчета(вводе команды allure serve target/allure-results в Терминал Intellij IDEA) вываливается ошибка:ERROR: JAVA_HOME is set to an invalid directory: C:\Java\jdk1.8.0_152\bin
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Но если у меня действительно, там стоит Java и в системной переменной стоит : C:\Java\jdk1.8.0_152
привязку к bin убрала а все равно ошибка идет???
Да, не нужно. Но мне помогло вот эта строка: C:\Java\jdk1.8.0_152\jre вставила в JAVA_HOME.
Теперь почему то отчет генерится пустой. Если я запускаю в IDEA, то отчет генерится и в браузере открывается. А вот если собираю в Jenkins, то отчет пустой. Что нужно сделать для генерации отчета, какие настройки в Job прописать??
Если на агенте запускаются тесты - то в workspace, если на мастере - то вроде в job, но я уже не помню. В общем там будет папка с названием вашей джобы
Started by user Ibraimova Viktoriya Building in workspace E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid Parsing POMs Established TCP socket on 51150 [ExampleWithSelenoidAndJenkins2] $ /bin/java -cp E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.12-alpha-1.jar;E:\JAVA_MAIN\Maven\apache-maven-3.5.2\boot\plexus-classworlds-2.5.2.jar;E:\JAVA_MAIN\Maven\apache-maven-3.5.2/conf/logging jenkins.maven3.agent.Maven35Main E:\JAVA_MAIN\Maven\apache-maven-3.5.2 E:\JAVA_MAIN\forJenkins\war\WEB-INF\lib\remoting-3.26.jar E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.12-alpha-1.jar E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.12-alpha-1.jar 51150 ERROR: Не удалось прочитать POM файлы java.io.IOException: Cannot run program “/bin/java” (in directory “F:\IdeaProjects\OTUS\Temp\MariaOskar\TempRaznoe\allure\ExampleWithSelenoidAndJenkins2”): CreateProcess error=2, Не удается найти указанный файл at java.lang.ProcessBuilder.start(Unknown Source) at hudson.Proc$LocalProc.<init>(Proc.java:249) at hudson.Proc$LocalProc.<init>(Proc.java:218) at hudson.Launcher$LocalLauncher.launch(Launcher.java:935) at hudson.Launcher$ProcStarter.start(Launcher.java:454) at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:278) at hudson.maven.ProcessCache.get(ProcessCache.java:236) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504) at hudson.model.Run.execute(Run.java:1815) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Caused by: java.io.IOException: CreateProcess error=2, Не удается найти указанный файл at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) … 13 more [TestJobSelenoid] $ E:\JAVA_MAIN\forJenkins\tools\ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation\clean_test\bin\allure.bat generate -c -o E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid\allure-report allure-results does not exists Report successfully generated to E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid\allure-report Allure report was successfully generated. Creating artifact for the build. Artifact was added to the build. Finished: FAILURE
Я так делала. Еще раз сделала, убрала target: Started by user Ibraimova Viktoriya Building in workspace E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid Parsing POMs Established TCP socket on 51448 [ExampleWithSelenoidAndJenkins2] $ /bin/java -cp E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven35-agent-1.12-alpha-1.jar;E:\JAVA_MAIN\Maven\apache-maven-3.5.2\boot\plexus-classworlds-2.5.2.jar;E:\JAVA_MAIN\Maven\apache-maven-3.5.2/conf/logging jenkins.maven3.agent.Maven35Main E:\JAVA_MAIN\Maven\apache-maven-3.5.2 E:\JAVA_MAIN\forJenkins\war\WEB-INF\lib\remoting-3.26.jar E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven35-interceptor-1.12-alpha-1.jar E:\JAVA_MAIN\forJenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.12-alpha-1.jar 51448 ERROR: Не удалось прочитать POM файлы java.io.IOException: Cannot run program “/bin/java” (in directory “F:\IdeaProjects\OTUS\Temp\MariaOskar\TempRaznoe\allure\ExampleWithSelenoidAndJenkins2”): CreateProcess error=2, Не удается найти указанный файл at java.lang.ProcessBuilder.start(Unknown Source) at hudson.Proc$LocalProc.<init>(Proc.java:249) at hudson.Proc$LocalProc.<init>(Proc.java:218) at hudson.Launcher$LocalLauncher.launch(Launcher.java:935) at hudson.Launcher$ProcStarter.start(Launcher.java:454) at hudson.maven.AbstractMavenProcessFactory.newProcess(AbstractMavenProcessFactory.java:278) at hudson.maven.ProcessCache.get(ProcessCache.java:236) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:804) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504) at hudson.model.Run.execute(Run.java:1815) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:97) at hudson.model.Executor.run(Executor.java:429) Caused by: java.io.IOException: CreateProcess error=2, Не удается найти указанный файл at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) … 13 more [TestJobSelenoid] $ E:\JAVA_MAIN\forJenkins\tools\ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation\clean_test\bin\allure.bat generate -c -o E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid\allure-report allure-results does not exists Report successfully generated to E:\JAVA_MAIN\forJenkins\workspace\TestJobSelenoid\allure-report Allure report was successfully generated. Creating artifact for the build. Artifact was added to the build. Finished: FAILURE