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

Scenario Details not linked to Main Report for failed Tests- freemarker.log._JULLoggerFactory$JULLogger error #1472

Closed
poorvikamahesh opened this issue Dec 3, 2018 · 9 comments

Comments

@poorvikamahesh
Copy link

Hello,

I am trying to run my test suite using Serenity BDD. But get a 'Failed to generate report for Requirements report' for failed Scenarios and all scenarios that ran after the failed scenario. I cannot view the Scenarios details.

Below are my version details

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<serenity.version>2.0.18</serenity.version>
	<serenity.maven.version>2.0.18</serenity.maven.version>
	<serenity.cucumber.version>1.9.20</serenity.cucumber.version>
	<encoding>UTF-8</encoding>
	<tags></tags>
	<parallel.tests>4</parallel.tests>
</properties>

Below is the stake trace of the error

Dec 03, 2018 7:37:16 PM freemarker.log._JULLoggerFactory$JULLogger error
SEVERE: Error executing FreeMarker template
FreeMarker template error:
Java method "net.thucydides.core.reports.html.Formatter.renderTableDescription(String, net.thucydides.core.requirements.reports.RequirementsOutcomes)" threw an exception when invoked on net.thucydides.core.reports.html.Formatter object "net.thucydides.core.reports.html.Formatter@3d50d326"; see cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${formatter.renderTableDescription(ex... [in template "freemarker/requirements.ftl" at line 341, column 64]

Java stack trace (for programmers):

freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:289)
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:252)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:77)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:83)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at net.thucydides.core.reports.templates.FreemarkerReportTemplate.merge(FreemarkerReportTemplate.java:42)
at net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:37)
at net.thucydides.core.reports.html.BaseReportingTask.generateReportPage(BaseReportingTask.java:46)
at net.thucydides.core.reports.html.RequirementsOverviewReportingTask.generateReports(RequirementsOverviewReportingTask.java:133)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:32)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:11)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at net.thucydides.core.reports.html.Formatter.lambda$textWithEmbeddedExampleResults$3(Formatter.java:252)
at java.util.Optional.ifPresent(Optional.java:159)
at net.thucydides.core.reports.html.Formatter.textWithEmbeddedExampleResults(Formatter.java:247)
at net.thucydides.core.reports.html.Formatter.renderTableDescription(Formatter.java:196)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1505)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:72)
... 32 more

[WARNING] Report generation failed
FreeMarker template error:
Java method "net.thucydides.core.reports.html.Formatter.renderTableDescription(String, net.thucydides.core.requirements.reports.RequirementsOutcomes)" threw an exception when invoked on net.thucydides.core.reports.html.Formatter object "net.thucydides.core.reports.html.Formatter@3d50d326"; see cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${formatter.renderTableDescription(ex... [in template "freemarker/requirements.ftl" at line 341, column 64]

Java stack trace (for programmers):

freemarker.core._TemplateModelException: [... Exception message was already printed; see it above ...]
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:289)
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:252)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:77)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:83)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at net.thucydides.core.reports.templates.FreemarkerReportTemplate.merge(FreemarkerReportTemplate.java:42)
at net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:37)
at net.thucydides.core.reports.html.BaseReportingTask.generateReportPage(BaseReportingTask.java:46)
at net.thucydides.core.reports.html.RequirementsOverviewReportingTask.generateReports(RequirementsOverviewReportingTask.java:133)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:32)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:11)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at net.thucydides.core.reports.html.Formatter.lambda$textWithEmbeddedExampleResults$3(Formatter.java:252)
at java.util.Optional.ifPresent(Optional.java:159)
at net.thucydides.core.reports.html.Formatter.textWithEmbeddedExampleResults(Formatter.java:247)
at net.thucydides.core.reports.html.Formatter.renderTableDescription(Formatter.java:196)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1505)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:72)
... 32 more
[ERROR] Syntax error in report template: Java method "net.thucydides.core.reports.html.Formatter.renderTableDescription(String, net.thucydides.core.requirements.reports.RequirementsOutcomes)" threw an exception when invoked on net.thucydides.core.reports.html.Formatter object "net.thucydides.core.reports.html.Formatter@3d50d326"; see cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${formatter.renderTableDescription(ex... [in template "freemarker/requirements.ftl" at line 341, column 64]

- Failed at: ${formatter.renderTableDescription(ex...  [in template "freemarker/requirements.ftl" at line 341, column 64]

[WARNING] Failed to generate report for Requirements report 7cb98f511a2a49d052b68fb4196f39ff064c1d82734726d4a193aa07d1f1580c.html - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Failed to merge template: Failed to process FreeMarker template
net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:39)
java.util.concurrent.ExecutionException: java.lang.RuntimeException: Failed to merge template: Failed to process FreeMarker template
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:206)
at net.thucydides.core.reports.html.Reporter.generateReports(Reporter.java:53)
at net.thucydides.core.reports.html.Reporter.generateReportsFor(Reporter.java:29)
at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsIn(HtmlAggregateStoryReporter.java:211)
at net.thucydides.core.reports.html.HtmlAggregateStoryReporter.generateReportsForTestResultsFrom(HtmlAggregateStoryReporter.java:134)
at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.generateHtmlStoryReports(SerenityAggregatorMojo.java:243)
at net.serenitybdd.maven.plugins.SerenityAggregatorMojo.execute(SerenityAggregatorMojo.java:186)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: java.lang.RuntimeException: Failed to merge template: Failed to process FreeMarker template
at net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:39)
at net.thucydides.core.reports.html.BaseReportingTask.generateReportPage(BaseReportingTask.java:46)
at net.thucydides.core.reports.html.RequirementsOverviewReportingTask.generateReports(RequirementsOverviewReportingTask.java:133)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:32)
at net.thucydides.core.reports.html.ReportExecutor.call(ReportExecutor.java:11)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: net.thucydides.core.reports.templates.TemplateMergeException: Failed to process FreeMarker template
at net.thucydides.core.reports.templates.FreemarkerReportTemplate.merge(FreemarkerReportTemplate.java:45)
at net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:37)
... 8 more
Caused by: freemarker.core._TemplateModelException: Java method "net.thucydides.core.reports.html.Formatter.renderTableDescription(String, net.thucydides.core.requirements.reports.RequirementsOutcomes)" threw an exception when invoked on net.thucydides.core.reports.html.Formatter object "net.thucydides.core.reports.html.Formatter@3d50d326"; see cause exception in the Java stack trace.


FTL stack trace ("~" means nesting-related):
- Failed at: ${formatter.renderTableDescription(ex... [in template "freemarker/requirements.ftl" at line 341, column 64]

at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:289)
at freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException(_MethodUtil.java:252)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:77)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:83)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:366)
at freemarker.core.IteratorBlock$IterationContext.executedNestedContentForCollOrSeqListing(IteratorBlock.java:317)
at freemarker.core.IteratorBlock$IterationContext.executeNestedContent(IteratorBlock.java:271)
at freemarker.core.IteratorBlock$IterationContext.accept(IteratorBlock.java:242)
at freemarker.core.Environment.visitIteratorBlock(Environment.java:642)
at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:107)
at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
at freemarker.core.Environment.visit(Environment.java:330)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.visit(Environment.java:336)
at freemarker.core.Environment.process(Environment.java:309)
at net.thucydides.core.reports.templates.FreemarkerReportTemplate.merge(FreemarkerReportTemplate.java:42)
... 9 more

Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at net.thucydides.core.reports.html.Formatter.lambda$textWithEmbeddedExampleResults$3(Formatter.java:252)
at java.util.Optional.ifPresent(Optional.java:159)
at net.thucydides.core.reports.html.Formatter.textWithEmbeddedExampleResults(Formatter.java:247)
at net.thucydides.core.reports.html.Formatter.renderTableDescription(Formatter.java:196)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1505)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:72)
... 32 more
[WARNING] SOME REPORT PAGES COULD NOT BE GENERATED

  • Failed to generate report for Requirements report 7cb98f511a2a49d052b68fb4196f39ff064c1d82734726d4a193aa07d1f1580c.html - java.util.concurrent.ExecutionException: java.lang.RuntimeException: Failed to merge template: Failed to process FreeMarker template
    net.thucydides.core.reports.html.Merger$MergeBuilder.to(Merger.java:39)
@wakaleo
Copy link
Member

wakaleo commented Dec 4, 2018

Can you provide a sample project to reproduce the issue?

@poorvikamahesh
Copy link
Author

@wakaleo Thanks for the quick response.

I am not able to reproduce with a sample project. I tried a lot of different scenarios with the sample project similar to our actual project.

But this is occurring every time we run our Project Suite. Unfortunately I cannot share the actual project code.

Is there anything else I can provide to help resolve this issue?

@poorvikamahesh
Copy link
Author

poorvikamahesh commented Dec 5, 2018

@wakaleo I figured out what is causing the issue.

One of the data field I am feeding has a "#" symbol. And in the next row, I am adding a tag, refer below code.

Scenario Outline: 002_DemoTest_Orders_Validate user is able to access
Given user is on the application
Then verify Google Logo
And this test scenario will "runOption"

@FS
Examples: 
  | runOption | 
  | fail		 |

@SIT
Examples: 
  | runOption             |
  | fail#fail-4858465-DED |
  
@QA
Examples: 
  | runOption             |
  | FAIL |

The combination of the 2 lines "| fail#fail-4858465-DED |" AND " @qa" is causing the issue. Let me know if you still want me to send the sample framework.

@wakaleo
Copy link
Member

wakaleo commented Dec 5, 2018

Try disabling Markdown:

enable.markdown=none

@poorvikamahesh
Copy link
Author

@wakaleo I tried it but it did not help. Still get the same exception and the scenario details are not generated/attached.

@wakaleo
Copy link
Member

wakaleo commented Dec 6, 2018

Unable to reproduce this with 2.0.20:

image

@poorvikamahesh
Copy link
Author

@wakaleo I upgraded to 2.0.20 but still getting the same error

Attaching the project for your reference. I am running it with 'verify serenity:aggregate' command
Please do have a look at it.

Demo.Test.zip

@wakaleo
Copy link
Member

wakaleo commented Dec 7, 2018

I took a quick look, and it seems non-trivial. Can you get your company to raise a support ticket (https://johnfergusonsmart.com/serenity-bdd-mentoring#support)?

@cliviu
Copy link
Collaborator

cliviu commented Dec 9, 2018

hi @poorvikamahesh . I have run the reference project that you have posted but I've got no freemarker related exception. Can you please check once more that the exception gets generated with your test project and post the log file so that I can compare it with my log file ?

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

No branches or pull requests

3 participants