Git Product home page Git Product logo

cucumber-pdf-report's Introduction

Hello World! ๐Ÿ‘‹

  • Iโ€™m currently learning Playwright
  • Ask me about Selenium, Cucumber, Rest Assured, Extent Reports
  • Looking for automation testing jobs or consulting opportunities
  • Visit and leave a comment on my tech blog
  • Reach me at my email [[email protected]]

cucumber-pdf-report's People

Contributors

grass-hopper-moc avatar grasshopper7 avatar

Stargazers

 avatar

Watchers

 avatar

cucumber-pdf-report's Issues

Lines do not wrap in PDF

For more descriptive scenario steps or for stacktraces the PDF in portrait is not wide enough. The lines are now truncated making it very hard to follow a whole scenario.
It would be great if it was possible either to wrap the lines or have the PDF in landscape.

Upgrade to snakeyaml 2.0

We are using this cucumber-pdf-report but unfortunately it's not compatible with snakeyaml 2.0 as it uses an invalid constructor from 1.28. Could you please upgrade snakeyaml?

Feature & Scenario table splitting logic

Splitting of feature and scenario name is moving the name to be isolated from the table, which moves to next page. Change logic for splitting only when name length is greater than 2 lines.

This could be difficult to implement

Errors when detailedsection is set to false

Exception from https://grasshopper.tech/2224/#comment-2288

Iโ€™m not 100% sure however looks like there is a bug while generating the PDF file. It is working fine & Iโ€™m able to generate PDF file however when I change the value of displayDetailed from true to false, Iโ€™m getting below exception:

tech.grasshopper.pdf.extent.ExtentPDFCucumberReporter flush
SEVERE: An exception occurred
java.lang.NullPointerException
at tech.grasshopper.pdf.annotation.Annotation.updateDestination(Annotation.java:71)
at tech.grasshopper.pdf.annotation.Annotation.lambda$updateDestination$0(Annotation.java:49)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
at tech.grasshopper.pdf.annotation.Annotation.updateDestination(Annotation.java:48)
at tech.grasshopper.pdf.PDFCucumberReport.createReport(PDFCucumberReport.java:94)
at tech.grasshopper.pdf.extent.ExtentPDFCucumberReporter.flush(ExtentPDFCucumberReporter.java:69)

Ability to hide Tags summary from the generated PDF

Need another configuration in the pdf-config.yaml to skip generating Tags summary section in the PDF report. I didn't find any configuration to hide the same.

I am able to skip generation of feature summary and scenario summary sections in the PDF by setting the displayFeature and displayScenario as false in the pdf-config.yaml. So if we can have one flag/ config like displayTag and if set as false should not generate the tags summary in the report.

Keywords missing in PDF

For readability of the scenarios the Cucumber keywords are important, but these are not shown in the PDF file

Refactor Feature & Scenario pages

  • Multiple line feature and scenario name
  • Cropped name message
  • Fix chart bar width
  • Line count depends upon space available
  • Maximum lines is 10 when extra space available

Stack overflow exception whilst generating report

Occasionally the PDF generator will throw a StackOverflow exception.
Aug 08, 2022 11:17:32 AM tech.grasshopper.pdf.PDFCucumberReport collectReportConfiguration INFO: PDF report configuration YAML file not found. Using default settings. java.lang.StackOverflowError at java.util.stream.ReferencePipeline$5$1.accept(ReferencePipeline.java:227) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.LongPipeline.reduce(LongPipeline.java:461) at java.util.stream.LongPipeline.sum(LongPipeline.java:419) at java.util.stream.ReferencePipeline.count(ReferencePipeline.java:593) at tech.grasshopper.pdf.section.details.executable.table.TableColumnOptimizer.resizeColumnWidth(TableColumnOptimizer.java:81) at tech.grasshopper.pdf.section.details.executable.table.TableColumnOptimizer.resizeColumnWidth(TableColumnOptimizer.java:101) at tech.grasshopper.pdf.section.details.executable.table.TableColumnOptimizer.resizeColumnWidth(TableColumnOptimizer.java:101)

This can be reproduced by using the cucumber-pdf-plugin-report project and adding the following step to the datatable-docstring.feature scenario

And Customer orders the dishes
      | Taial Cuidjsj             | Taial Cuidjsj Snopqr | Abcef Ghij Klmnopqrs Tuv Wxyz1 Abcef | Abcdefghi Jklmn (Opqrstu Vwxyz) | Abcd Tfdgh Ijkl Mnopq rs Tuvwx (Yz12345) | abcdefg hijklmn opqrstuvwx |      
      | {IND Country Description} | 2                    | 3                                    | 4                               | 5                                        | 6                          |
      | {BEL Country Description} | 2                    | 3                                    | 4                               | 5                                        | 6                          |

Can't Generate PDF report at all

I tried to generate the report using JSON, as you said. But I am unable to generate any report even with the example project you have on github it's not working. What is happening?

library source does not match byte code

When linking cucumber-pdf-report 1.7.0 in Intellij and for example going to ReportData I get the warning that the library source does not match the byte code, and indeed when looking at the decompiled class, something goes wrong with publication of the sources of this library.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.