Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception while running test in 3.1.15 #2684

Closed
deepthi-ravindra opened this issue Feb 1, 2022 · 11 comments
Closed

Exception while running test in 3.1.15 #2684

deepthi-ravindra opened this issue Feb 1, 2022 · 11 comments

Comments

@deepthi-ravindra
Copy link

Getting the following exception with Serenity 3.1.15 after upgrading from 2.* . Please can you provide a solution? Also the data tables are not working as expected in this version.

[main] ERROR net.thucydides.core.model.TestOutcome - Tag provider net.thucydides.core.requirements.FileSystemRequirementsTagProvider@14b0e127 failure
java.lang.NoClassDefFoundError: io/cucumber/messages/types/GherkinDocument
at net.thucydides.core.requirements.model.cucumber.CucumberParser.loadCucumberFeatures(CucumberParser.java:100)
at net.thucydides.core.requirements.model.cucumber.CucumberParser.loadFeature(CucumberParser.java:64)
at net.thucydides.core.requirements.model.cucumber.CucumberParser.loadFeatureNarrative(CucumberParser.java:149)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.loadFromFeatureFile(FileSystemRequirementsTagProvider.java:621)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readRequirementsFromStoryOrFeatureFile(FileSystemRequirementsTagProvider.java:567)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.capabilitiesAndStoriesIn(FileSystemRequirementsTagProvider.java:191)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getRequirements(FileSystemRequirementsTagProvider.java:173)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readChildrenFrom(FileSystemRequirementsTagProvider.java:736)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.requirementFromDirectoryName(FileSystemRequirementsTagProvider.java:645)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readRequirementFrom(FileSystemRequirementsTagProvider.java:554)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.capabilitiesAndStoriesIn(FileSystemRequirementsTagProvider.java:187)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getRequirements(FileSystemRequirementsTagProvider.java:173)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readChildrenFrom(FileSystemRequirementsTagProvider.java:736)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.requirementFromDirectoryName(FileSystemRequirementsTagProvider.java:645)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readRequirementFrom(FileSystemRequirementsTagProvider.java:554)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.capabilitiesAndStoriesIn(FileSystemRequirementsTagProvider.java:187)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1707)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getRequirements(FileSystemRequirementsTagProvider.java:173)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.requirementWithMatchingFeatureFile(FileSystemRequirementsTagProvider.java:248)
at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getTagsFor(FileSystemRequirementsTagProvider.java:220)
at net.thucydides.core.model.TestOutcome.getTagsUsingTagProviders(TestOutcome.java:1933)
at net.thucydides.core.model.TestOutcome.getTags(TestOutcome.java:1910)
at net.thucydides.core.model.TestOutcome.addTags(TestOutcome.java:1963)
at net.thucydides.core.steps.StepEventBus.addTagsToCurrentTest(StepEventBus.java:696)
at io.cucumber.core.plugin.SerenityReporter.startScenario(SerenityReporter.java:624)
at io.cucumber.core.plugin.SerenityReporter.startOfScenarioLifeCycle(SerenityReporter.java:614)
at io.cucumber.core.plugin.SerenityReporter.handleTestCaseStarted(SerenityReporter.java:258)
at io.cucumber.core.eventbus.AbstractEventPublisher.send(AbstractEventPublisher.java:51)
at io.cucumber.core.eventbus.AbstractEventBus.send(AbstractEventBus.java:12)
at io.cucumber.core.runtime.SynchronizedEventBus.send(SynchronizedEventBus.java:47)
at io.cucumber.core.runtime.ThreadLocalRunnerSupplier$LocalEventBus.send(ThreadLocalRunnerSupplier.java:66)
at io.cucumber.core.runner.TestCase.emitTestCaseStarted(TestCase.java:228)
at io.cucumber.core.runner.TestCase.run(TestCase.java:92)
at io.cucumber.core.runner.Runner.runPickle(Runner.java:73)
at io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:151)
at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:135)
at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:27)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at io.cucumber.junit.CucumberSerenityRunner.runChild(CucumberSerenityRunner.java:258)
at io.cucumber.junit.CucumberSerenityRunner.runChild(CucumberSerenityRunner.java:57)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at io.cucumber.junit.CucumberSerenityRunner$RunCucumber.evaluate(CucumberSerenityRunner.java:286)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

@wakaleo
Copy link
Member

wakaleo commented Feb 1, 2022

java.lang.NoClassDefFoundError: io/cucumber/messages/types/GherkinDocument is a dependency conflict. Resolve the conflict in your pom.xml file and the error will go away.

@deepthi-ravindra
Copy link
Author

deepthi-ravindra commented Feb 1, 2022 via email

@ricardorlg
Copy link
Contributor

Serenity 3 it's tied to cucumber7 don't use serenity-cucumber6 dependency, just use serenity-cucumber also don't add a direct cucumber dependency.

@wakaleo can correct me, if I'm wrong.

@deepthi-ravindra
Copy link
Author

deepthi-ravindra commented Feb 2, 2022 via email

@deepthi-ravindra
Copy link
Author

deepthi-ravindra commented Feb 2, 2022 via email

@deepthi-ravindra
Copy link
Author

deepthi-ravindra commented Feb 2, 2022

The full exception is :
WARN net.thucydides.core.requirements.RequirementsTagProvider - Failed to load requirements: Cannot invoke "io.github.classgraph.PackageInfo.hasAnnotation(java.lang.Class)" because "parentPackage" is null
java.lang.NullPointerException: Cannot invoke "io.github.classgraph.PackageInfo.hasAnnotation(java.lang.Class)" because "parentPackage" is null
at net.thucydides.core.requirements.PackageRequirementsTagProvider.narrativePackagesIn(PackageRequirementsTagProvider.java:211)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.findPackagesWithNarrativeAnnotationIn(PackageRequirementsTagProvider.java:206)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementPathsFromClassesInPackage(PackageRequirementsTagProvider.java:184)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementPathsStartingFrom(PackageRequirementsTagProvider.java:168)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementsReadFromClasspath(PackageRequirementsTagProvider.java:127)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.fetchRequirements(PackageRequirementsTagProvider.java:111)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getRequirements(PackageRequirementsTagProvider.java:95)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getTestCaseRequirementOf(PackageRequirementsTagProvider.java:283)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getParentRequirementOf(PackageRequirementsTagProvider.java:279)
at net.thucydides.core.requirements.ParentRequirementsProvided.forOutcome(ParentRequirementsProvided.java:26)
at net.thucydides.core.requirements.BaseRequirementsService.getParentRequirementOf(BaseRequirementsService.java:138)
at net.thucydides.core.requirements.BaseRequirementsService.getParentRequirementFor(BaseRequirementsService.java:48)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.addParentRequirmentFieldToContext(HtmlAcceptanceTestReporter.java:193)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.addTestOutcomeToContext(HtmlAcceptanceTestReporter.java:187)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.generateReportFor(HtmlAcceptanceTestReporter.java:103)
at net.thucydides.core.reports.ReportService.generateReportFor(ReportService.java:246)
at net.thucydides.core.reports.ReportService.lambda$generateReportsFor$0(ReportService.java:184)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
[pool-4-thread-1] WARN net.thucydides.core.requirements.RequirementsTagProvider - Failed to load requirements: Cannot invoke "io.github.classgraph.PackageInfo.hasAnnotation(java.lang.Class)" because "parentPackage" is null
java.lang.NullPointerException: Cannot invoke "io.github.classgraph.PackageInfo.hasAnnotation(java.lang.Class)" because "parentPackage" is null
at net.thucydides.core.requirements.PackageRequirementsTagProvider.narrativePackagesIn(PackageRequirementsTagProvider.java:211)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.findPackagesWithNarrativeAnnotationIn(PackageRequirementsTagProvider.java:206)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementPathsFromClassesInPackage(PackageRequirementsTagProvider.java:184)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementPathsStartingFrom(PackageRequirementsTagProvider.java:168)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.requirementsReadFromClasspath(PackageRequirementsTagProvider.java:127)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.fetchRequirements(PackageRequirementsTagProvider.java:111)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getRequirements(PackageRequirementsTagProvider.java:95)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getTestCaseRequirementOf(PackageRequirementsTagProvider.java:283)
at net.thucydides.core.requirements.PackageRequirementsTagProvider.getParentRequirementOf(PackageRequirementsTagProvider.java:279)
at net.thucydides.core.requirements.ParentRequirementsProvided.forOutcome(ParentRequirementsProvided.java:26)
at net.thucydides.core.requirements.BaseRequirementsService.getParentRequirementOf(BaseRequirementsService.java:138)
at net.thucydides.core.requirements.BaseRequirementsService.getAncestorRequirementsFor(BaseRequirementsService.java:78)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.addBreadcrumbs(HtmlAcceptanceTestReporter.java:223)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.addParentRequirmentFieldToContext(HtmlAcceptanceTestReporter.java:211)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.addTestOutcomeToContext(HtmlAcceptanceTestReporter.java:187)
at net.thucydides.core.reports.html.HtmlAcceptanceTestReporter.generateReportFor(HtmlAcceptanceTestReporter.java:103)
at net.thucydides.core.reports.ReportService.generateReportFor(ReportService.java:246)
at net.thucydides.core.reports.ReportService.lambda$generateReportsFor$0(ReportService.java:184)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)

Anything I need to add for reporting?

I am using java 17

@deepthi-ravindra
Copy link
Author

Another point is this is only happening with version 3.1.20.. it is not there in 3.1.16.

@wakaleo
Copy link
Member

wakaleo commented Feb 2, 2022

Did you get rid of all the dependency conflicts in your pom? This looks like a class loader issue which could be related to conflicting dependencies.

@deepthi-ravindra
Copy link
Author

yes..
<serenity.version>3.1.20</serenity.version>
<serenity.cucumber.version>3.1.20</serenity.cucumber.version>
<open.csv.version>5.5.2</open.csv.version>
<log4j.version>2.17.1</log4j.version>
<slf4j.version>2.0.0-alpha6</slf4j.version>
<jsch.version>0.1.55</jsch.version>
<java.faker.version>1.0.2</java.faker.version>
stepdefs


net.serenity-bdd
serenity-core
${serenity.version}


net.serenity-bdd
serenity-rest-assured
${serenity.version}


net.serenity-bdd
serenity-cucumber
${serenity.cucumber.version}
test


net.serenity-bdd
serenity-junit
${serenity.version}
test


junit
junit
4.13.2
compile


com.opencsv
opencsv
${open.csv.version}


com.github.javafaker
javafaker
${java.faker.version}


org.apache.httpcomponents
httpclient
4.5.13


net.sourceforge.htmlunit
htmlunit
2.9


com.googlecode.lambdaj
lambdaj
2.3.3


net.minidev
json-smart
2.4.7


org.skyscreamer
jsonassert
1.5.0


org.assertj
assertj-core
3.22.0
test



org.apache.logging.log4j
log4j-1.2-api
${log4j.version}


org.slf4j
slf4j-simple
${slf4j.version}
test


org.apache.logging.log4j
log4j-api
${log4j.version}


org.apache.logging.log4j
log4j-core
${log4j.version}


org.slf4j
slf4j-api
${slf4j.version}


ch.qos.logback
logback-classic
1.2.10


org.projectlombok
lombok
1.18.22
provided


net.serenity-bdd
serenity-report-resources
3.1.20





org.apache.maven.plugins
maven-compiler-plugin
3.9.0

${java.version}
${java.version}

@wakaleo
Copy link
Member

wakaleo commented Feb 12, 2022

Can you try with 3.2.0?

@wakaleo
Copy link
Member

wakaleo commented Feb 18, 2022

Closing presumed fixed.

@wakaleo wakaleo closed this as completed Feb 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants