{"id":20661735,"url":"https://github.com/uttesh/pdfngreport","last_synced_at":"2025-09-05T16:11:43.183Z","repository":{"id":19565358,"uuid":"22814470","full_name":"uttesh/pdfngreport","owner":"uttesh","description":"This is the pdf report plugin library written for testng/selenium frameworks, this listener will generate the pdf report on testcases execution, its very simple to configure no need to write any code.","archived":false,"fork":false,"pushed_at":"2017-02-08T19:01:23.000Z","size":103252,"stargazers_count":30,"open_issues_count":24,"forks_count":27,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-04-19T18:40:08.021Z","etag":null,"topics":["ant","java","listener","pdf-report","pom","selenium","selenium-java","testng"],"latest_commit_sha":null,"homepage":"http://uttesh.github.io/pdfngreport/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"sait/vfpjson","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uttesh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-10T17:28:34.000Z","updated_at":"2023-10-01T07:05:02.000Z","dependencies_parsed_at":"2022-09-01T06:41:33.494Z","dependency_job_id":null,"html_url":"https://github.com/uttesh/pdfngreport","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/uttesh/pdfngreport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uttesh%2Fpdfngreport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uttesh%2Fpdfngreport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uttesh%2Fpdfngreport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uttesh%2Fpdfngreport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uttesh","download_url":"https://codeload.github.com/uttesh/pdfngreport/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uttesh%2Fpdfngreport/sbom","scorecard":{"id":913194,"data":{"date":"2025-08-11","repo":{"name":"github.com/uttesh/pdfngreport","commit":"285cbe1b9b72fb60cc5b0f5fac9a7a342491c96b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.1,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":3,"reason":"7 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-gwrp-pvrq-jmwv","Warn: Project is vulnerable to: GHSA-gq5f-xv48-2365","Warn: Project is vulnerable to: GHSA-2474-2566-3qxp","Warn: Project is vulnerable to: GHSA-5hg8-r9vq-gjqp","Warn: Project is vulnerable to: GHSA-fmj2-7wx8-qj4v","Warn: Project is vulnerable to: GHSA-9339-86wc-4qgf","Warn: Project is vulnerable to: GHSA-rc2w-r4jq-7pfx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-24T20:00:45.876Z","repository_id":19565358,"created_at":"2025-08-24T20:00:45.876Z","updated_at":"2025-08-24T20:00:45.876Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273782459,"owners_count":25167130,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ant","java","listener","pdf-report","pom","selenium","selenium-java","testng"],"created_at":"2024-11-16T19:11:14.249Z","updated_at":"2025-09-05T16:11:43.161Z","avatar_url":"https://github.com/uttesh.png","language":"Java","readme":"pdfngreport (PDF report plugin for TestNG) \n==========================================\n\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.uttesh/pdfngreport/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.uttesh/pdfngreport/)\n[![Build Status](https://travis-ci.org/uttesh/pdfngreport.svg)](https://travis-ci.org/uttesh/pdfngreport)\n\n\u003c!--\n[![Support via Gratipay](https://cdn.rawgit.com/gratipay/gratipay-badge/2.3.0/dist/gratipay.png)](https://gratipay.com/uttesh/)--\u003e\n\nJoin our online chat at [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/uttesh/pdfngreport?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n\u003ch4\u003ePDF NG Report home page \u003ca href=\"http://uttesh.github.io/pdfngreport/\"\u003ehttp://uttesh.github.io/pdfngreport/\n\u003c/a\u003e\u003c/h4\u003e\n\n======================================================================\nThis is the part of maven repository now,Directly add in pom following.\n\n        \u003cdependency\u003e\n            \u003cgroupId\u003ecom.uttesh\u003c/groupId\u003e\n            \u003cartifactId\u003epdfngreport\u003c/artifactId\u003e\n            \u003cversion\u003e2.1.3\u003c/version\u003e\n        \u003c/dependency\u003e\n        \nThis is the pdf report plugin written for testng, this listener will generate the pdf report on testcases run, its very simple to configure no need to write any code.\n\n\u003cb\u003eHow to use pdfngreport Plugin\u003c/b\u003e\n\u003chr/\u003e\n\nDownload latest version of pdfreport \u003ca href=\"https://oss.sonatype.org/content/repositories/releases/com/uttesh/pdfngreport/2.1.3/\"\u003edownload\u003c/a\u003e\n\nSample demo example source \u003ca href=\"https://github.com/uttesh/pdfngreportdemo\"\u003edownload sample\u003c/a\u003e\n\neclipse sample code \u003ca href=\"https://github.com/uttesh/pdfngreport/raw/gh-pages/download/eclipse_archieve/pdfngreport_sample.zip\"\u003edownload eclipse sample\u003c/a\u003e\n\nPDF report sample \u003ca href=\"https://github.com/uttesh/pdfngreportdemo/raw/master/report/pdfng_report.pdf\"\u003ereport\u003c/a\u003e\n\n pdf report preview snaps :\n \n![demo](https://raw.github.com/uttesh/pdfngreportdemo/master/report_snaps/pdfngreport_1.png)\n![demo](https://raw.github.com/uttesh/pdfngreportdemo/master/report_snaps/pdfngreport_2.png)\n![demo](https://raw.github.com/uttesh/pdfngreportdemo/master/report_snaps/pdfngreport_3.png)\n![demo](https://raw.github.com/uttesh/pdfngreportdemo/master/report_snaps/pdfngreport_4.png)\nexplode pie chart\n![demo](https://raw.github.com/uttesh/pdfngreportdemo/master/report_snaps/pdfngreport_5.png)\n\n\u003cb\u003eEnvironment and dependent jar file\u003c/b\u003e\n\u003chr/\u003e\n\n1. Minimum JDK 1.6 or higher\n2. Jfree jar \n3. Apache fop jar\n\n\n\u003cb\u003e ANT users configuration \u003c/b\u003e\n\u003chr/\u003e\nDownload latest jfree and Apache fop jars from respective links and keep in lib.\n\nANT/MAVEN sample demo example \u003ca href=\"https://github.com/uttesh/pdfngreportdemo\" target\"_blank\"\u003edemo source\u003c/a\u003e\n\nconfigure build.xml file with below testng tag\n\n```\n  \u003ctestng classpathref=\"test-path\"\n          outputdir=\"${test-results.dir}\"\n          haltonfailure=\"true\"\n          useDefaultListeners=\"false\"\n          listeners=\"com.uttesh.pdfngreport.PDFReportListener\"\u003e\n  \u003c/testng\u003e\n ``` \n If linteners configured in ant build.xml then no need configure/set listener in testsuit xml, if configured both placess it will call PDFReportListener class two times.\n\n\n\u003cb\u003e MAVEN users configuration \u003c/b\u003e\n\u003chr/\u003e\n\nAdd below jfree and apache fop dependencies in pom.xml\n\n```\n       \u003cdependency\u003e\n            \u003cgroupId\u003ejfree\u003c/groupId\u003e\n            \u003cartifactId\u003ejfreechart\u003c/artifactId\u003e\n            \u003cversion\u003e1.0.13\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.apache.xmlgraphics\u003c/groupId\u003e\n            \u003cartifactId\u003efop\u003c/artifactId\u003e\n            \u003cversion\u003e1.1\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.apache.avalon.framework\u003c/groupId\u003e\n            \u003cartifactId\u003eavalon-framework-api\u003c/artifactId\u003e\n            \u003cversion\u003e4.3.1\u003c/version\u003e\n        \u003c/dependency\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eorg.apache.avalon.framework\u003c/groupId\u003e\n            \u003cartifactId\u003eavalon-framework-impl\u003c/artifactId\u003e\n            \u003cversion\u003e4.3.1\u003c/version\u003e\n        \u003c/dependency\u003e\n```\n\n\nTo use the reporting plug-in, set the \"listeners\" attribute of the \"testng\"\nelement in your Ant build file.The class names for the pdfreport is:\n\n```\n  com.uttesh.pdfngreport.PDFReportListener\n  \n```\n\nYou may also want to disable the default TestNG reporters by setting the\n\"useDefaultListeners\" attribute to \"false\".\n\n POM testng configuration with pdfngreport plugin paramerters\n \n ``` \n              \u003cplugin\u003e\n                    \u003cgroupId\u003eorg.apache.maven.plugins\u003c/groupId\u003e\n                    \u003cartifactId\u003emaven-surefire-plugin\u003c/artifactId\u003e\n                    \u003cversion\u003e2.17\u003c/version\u003e\n                    \u003cconfiguration\u003e\n                        \u003csuiteXmlFiles\u003e\n                            \u003csuiteXmlFile\u003etestng.xml\u003c/suiteXmlFile\u003e\n                        \u003c/suiteXmlFiles\u003e\n                        \u003cproperties\u003e\n                            \u003cproperty\u003e\n                                \u003cname\u003eusedefaultlisteners\u003c/name\u003e\n                                \u003cvalue\u003efalse\u003c/value\u003e \u003c!-- disabling default listeners is optional --\u003e\n                            \u003c/property\u003e\n                        \u003c/properties\u003e\n                    \u003c/configuration\u003e\n                \u003c/plugin\u003e\n ``` \n\nFor Maven pom.xml configuration, Add this dependecy.\n\n ``` \n        \u003cdependency\u003e\n            \u003cgroupId\u003ecom.uttesh\u003c/groupId\u003e\n            \u003cartifactId\u003epdfngreport\u003c/artifactId\u003e\n            \u003cversion\u003e2.1.3\u003c/version\u003e\n        \u003c/dependency\u003e \n ```\n\n\u003cb\u003etestng suit xml file \u003c/b\u003e\n\u003chr/\u003e\n\n```\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003csuite name=\"Simple Reporter Suite\"\u003e\n\n  \u003cparameter name=\"pdfngreport-properties\" value=\"D:\\property_files\\pdfngreport.properties\" /\u003e\n  \n  \u003clisteners\u003e\n    \u003clistener class-name=\"com.uttesh.pdfngreport.PDFReportListener\" /\u003e\n  \u003c/listeners\u003e\n\n  \u003ctest name=\"Simple Reporter test\"\u003e\n    \u003cclasses\u003e\n      \u003cclass name=\"xyz\" /\u003e\n      \u003cclass name=\"abc\" /\u003e\n    \u003c/classes\u003e\n  \u003c/test\u003e\n\u003c/suite\u003e\n```\n\u003cb\u003e set the following in the respective properties file for globel parameter pdfngreport-properties\u003c/b\u003e\n```\n#Title\npdfreport.title.text=Report Title Here\npdfreport.title.align=left\n\n# application build version\npdfreport.app.build.version=Build v2.0.8\n\n# Build System Details manual/code/hide, hide is default\n# enable below only for manual setting by setting code mode it will automactically populate the values in report\n# manual only for the mobile/tab env related details\npdfreport.build.system.details.by=code\n#pdfreport.additional.line1=OS : testOS (64 bit)\n#pdfreport.additional.line2=SYSTEM : test@testingbox\n#pdfreport.additional.line3=Lorem ipsum dolor sit amet\n\n\n#TimeColumn Date Format\n#\"yyyy.MM.dd G 'at' HH:mm:ss z\" | 2001.07.04 AD at 12:08:56 PDT\n#\"EEE, MMM d, ''yy\" | Wed, Jul 4, '01\n#\"h:mm a\"  |  12:08 PM\n#\"hh 'o''clock' a, zzzz\" | 12 o'clock PM, Pacific Daylight Time\n#\"K:mm a, z\" | 0:08 PM, PDT\n#\"yyyyy.MMMMM.dd GGG hh:mm aaa\" | 02001.July.04 AD 12:08 PM\n#\"EEE, d MMM yyyy HH:mm:ss Z\"  |  Wed, 4 Jul 2001 12:08:56 -0700\n#\"yyMMddHHmmssZ\" | 010704120856-0700\n#\"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'\" |  2001-07-04T12:08:56.235-0700\n#\"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\" |  2001-07-04T12:08:56.235-07:00\n#\"YYYY-'W'ww-u\" | 2001-W27-3\n\npdfngreport.time.column.format=MMMM dd yyyy hh:mm:sss\n\n#Logo\npdfreport.logo=show\npdfreport.report.logo.file=E://rivetsys//automation//pdfnglogo//logo.png\npdfreport.report.logo.align=right\n\n# chart related\npdfreport.pie.chart.type=normal\n#pdfreport.pie.chart.type=explode\n\n#report file name\npdfreport.file.name=sample_pdf_report\n\n# pdf report output location note: use duble forward slash for the windows system\npdfreport.outputdir=E://rivetsys//automation//pdfngreport\n\n# tables/page setting : show/hide\npdfreport.exception.page=hide\n\n# Below setting only for selenium user for selenium failed screen shot link show related\n#pdfreport.show.selenium.screenshot.link=show\n#pdfreport.selenium.failed.test.screenshot.outputdir=E://rivetsys/automation//loan_connector_10Sep14Nova//loan_connector/screenshots\n\n# error screen shot/image name standards.\n\n#image type : png\n#image name : className + \"_\" + methodName\n\n# Custom color setting Coming soon on 3.0.0 version\n\n```\n\n## Properties\n\nproperty | default | description\n---------|---------|------------\n`pdfreport.title.text` |  | Specifies the required report title.\n`pdfreport.title.align` | left | align the title left/right\n`pdfreport.app.build.version` |  | Specifies the required application build version.\n`pdfreport.build.system.details.by` |  | Build System Details manual/code/hide\n`pdfreport.additional.line1` |  | by setting the system details properties, we can set this for the manual system details data entry\n`pdfreport.additional.line2` |  | by setting the system details properties, we can set this for the manual system details data entry\n`pdfreport.additional.line3` |  | by setting the system details properties, we can set this for the manual system details data entry\n`pdfngreport.time.column.format` | MMMM dd YYYY hh:mm:sss | set date format for the test case execution time display.\n`pdfreport.logo` | hide | by setting this property along with below properties we can add logo image to report\n`pdfreport.report.logo.file` | no default value | set the location of the logo image\n`pdfreport.report.logo.align` | right | align the logo image right/left \n`pdfreport.pie.chart.type` | normal | set the values 'explode' for the ex[plode pie chart\n`pdfreport.file.name` |  | set the report file name\n`pdfreport.outputdir` |  | set the location where generated report will be saved\n`pdfreport.table.column.time` |  | set the value to show/hide the column in the report table \n`pdfreport.table.column.test` |  | set the value to show/hide the column in the report table \n`pdfreport.table.column.case` |  | set the value to show/hide the column in the report table \n`pdfreport.table.column.timetaken` |  | set the value to show/hide the column in the report table \n`pdfreport.table.column.description` |  | set the value to show/hide the column in the report table \n\n\nMiscellaneous\n=============\n\n1. If dataproviders are used in the test classes and need to update test case dynamically on scenario data base do the following changes.\n\n\ta. Test class should implements 'ITest'\n\t\t\u003cdiv style=\"background: #f0f0f0; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;\"\u003e\u003cpre style=\"margin: 0; line-height: 125%\"\u003e\u003cspan style=\"color: #007020; font-weight: bold\"\u003epublic\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003eclass\u003c/span\u003e \u003cspan style=\"color: #0e84b5; font-weight: bold\"\u003eDynamicDataProviderTestName\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003eimplements\u003c/span\u003e ITest \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n\n\tb. Add @BeforeMethod(alwaysRun = true) method to update the test cases dynamically according to data provider data.\n\t\n\t\u003cdiv style=\"background: #f0f0f0; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;\"\u003e\u003cpre style=\"margin: 0; line-height: 125%\"\u003e\u003cspan style=\"color: #555555; font-weight: bold\"\u003e@BeforeMethod\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003ealwaysRun \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003etrue\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e\n    \u003cspan style=\"color: #007020; font-weight: bold\"\u003epublic\u003c/span\u003e \u003cspan style=\"color: #902000\"\u003evoid\u003c/span\u003e \u003cspan style=\"color: #06287e\"\u003etestData\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003eMethod method\u003cspan style=\"color: #666666\"\u003e,\u003c/span\u003e Object\u003cspan style=\"color: #666666\"\u003e[]\u003c/span\u003e testData\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n        String testCase \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #4070a0\"\u003e\u0026quot;\u0026quot;\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n        \u003cspan style=\"color: #007020; font-weight: bold\"\u003eif\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003etestData \u003cspan style=\"color: #666666\"\u003e!=\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003enull\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e testData\u003cspan style=\"color: #666666\"\u003e.\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003elength\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e\u0026gt;\u003c/span\u003e \u003cspan style=\"color: #40a070\"\u003e0\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n            TestParameters testParams \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003enull\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n            String _dyna_name \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003enull\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n            \u003cspan style=\"color: #60a0b0; font-style: italic\"\u003e//Check if test method has actually received required parameters\u003c/span\u003e\n            \u003cspan style=\"color: #007020; font-weight: bold\"\u003efor\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003eObject testParameter \u003cspan style=\"color: #666666\"\u003e:\u003c/span\u003e testData\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n                \u003cspan style=\"color: #007020; font-weight: bold\"\u003eif\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003etestParameter \u003cspan style=\"color: #007020; font-weight: bold\"\u003einstanceof\u003c/span\u003e TestParameters\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n                    testParams \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003eTestParameters\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e testParameter\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n                    \u003cspan style=\"color: #007020; font-weight: bold\"\u003ebreak\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n                \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n                \u003cspan style=\"color: #007020; font-weight: bold\"\u003eif\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003etestParameter \u003cspan style=\"color: #007020; font-weight: bold\"\u003einstanceof\u003c/span\u003e String\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n                    _dyna_name \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003eString\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e testParameter\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n                    \u003cspan style=\"color: #007020; font-weight: bold\"\u003ebreak\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n                \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n            \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n            \u003cspan style=\"color: #007020; font-weight: bold\"\u003eif\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003etestParams \u003cspan style=\"color: #666666\"\u003e!=\u003c/span\u003e \u003cspan style=\"color: #007020; font-weight: bold\"\u003enull\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e)\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e{\u003c/span\u003e\n                testCase \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e testParams\u003cspan style=\"color: #666666\"\u003e.\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003egetTestName\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e();\u003c/span\u003e\n            \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n            \u003cspan style=\"color: #007020; font-weight: bold\"\u003eif\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003e_dyna_name\u003cspan style=\"color: #666666\"\u003e!=\u003c/span\u003e\u003cspan style=\"color: #007020; font-weight: bold\"\u003enull\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e){\u003c/span\u003e\n                testCase \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e _dyna_name\u003cspan style=\"color: #666666\"\u003e;\u003c/span\u003e\n            \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n        \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n        \u003cspan style=\"color: #007020; font-weight: bold\"\u003ethis\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e.\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003emTestCaseName\u003c/span\u003e \u003cspan style=\"color: #666666\"\u003e=\u003c/span\u003e String\u003cspan style=\"color: #666666\"\u003e.\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003eformat\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e(\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003e\u0026quot;%s(%s)\u0026quot;\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e,\u003c/span\u003e method\u003cspan style=\"color: #666666\"\u003e.\u003c/span\u003e\u003cspan style=\"color: #4070a0\"\u003egetName\u003c/span\u003e\u003cspan style=\"color: #666666\"\u003e(),\u003c/span\u003e testCase\u003cspan style=\"color: #666666\"\u003e);\u003c/span\u003e\n    \u003cspan style=\"color: #666666\"\u003e}\u003c/span\u003e\n\u003c/pre\u003e\u003c/div\u003e\n\n    c. Full Test sample class\n\t \u003cbr/\u003e\n\t \u003ca href=\"https://github.com/uttesh/pdfngreport/blob/master/src/test/java/com/uttesh/pdfngreport/dynamic_test_name/DynamicDataProviderTestName.java\" target=\"_blank\"\u003e\n\t DynamicDataProviderTestName.java \u003c/a\u003e \u003cbr/\u003e\n\t \n\t \u003ca href=\"https://github.com/uttesh/pdfngreport/blob/master/src/test/java/com/uttesh/pdfngreport/dynamic_test_name/TestParameters.java\" target=\"_blank\"\u003e\n\t TestParameters.java \u003c/a\u003e\n\t \n\n\n\nContributions\n=============\n\nAll credit goes to \u003ca href=\"http://www.jfree.org/jfreechart/\"\u003ejfree\u003c/a\u003e and \u003ca href=\"https://xmlgraphics.apache.org\"\u003eApache fop\u003c/a\u003e open source jar file which were used to generate the pdf report and pie chart statistic graph.\n\nPDFngreport Developer : \u003ca href=\"http://www.uttesh.com\" target=\"_blank\"\u003euttesh.com\u003c/a\u003e\n\n\u003ch3\u003e\n\u003ca name=\"license\" class=\"anchor\" href=\"#license\"\u003e\u003cspan class=\"mini-icon mini-icon-link\"\u003e\u003c/span\u003e\u003c/a\u003eLicense\u003c/h3\u003e\n\n\u003cp\u003e(The Apache License)\u003c/p\u003e\n\n\u003cp\u003eCopyright (c) 2016 Uttesh Kumar T.H.\u003c/p\u003e\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\u003c/p\u003e\n\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futtesh%2Fpdfngreport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futtesh%2Fpdfngreport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futtesh%2Fpdfngreport/lists"}