From bb2b89790aa3d2688b46863108035e017a23e6cd Mon Sep 17 00:00:00 2001 From: anshooarora Date: Thu, 8 Nov 2018 09:39:00 -0500 Subject: [PATCH 1/5] Update Readme.md --- Readme.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..622c9dc --- /dev/null +++ b/Readme.md @@ -0,0 +1,16 @@ +## Extent Framework 4 - Community Edition + +[![Join the chat at https://gitter.im/anshooarora/extentreports](https://badges.gitter.im/anshooarora/extentreports.svg)](https://gitter.im/anshooarora/extentreports?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Maven Central](https://img.shields.io/maven-central/v/com.aventstack/extentreports.svg?maxAge=300)](http://search.maven.org/#search|ga|1|g:"com.aventstack") + +This version is Java8 only. + +[Klov](https://github.com/extent-framework/klov-server) report server 0.2.0 is supported with version 4.0.0+. + +### Documentation + +View [extentreports.com](http://extentreports.com/docs/versions/4/java/) for complete documentation. + +### License + +Extent Framework Community is BSD-3 licensed. \ No newline at end of file From db7d3107b7fdcfd5e4fd0ac9c15623eaceeb0abd Mon Sep 17 00:00:00 2001 From: Anshoo Arora Date: Tue, 13 Nov 2018 11:04:18 -0500 Subject: [PATCH 2/5] Bdd asterisk (#4) * initial setup for supporting asterisk ("*") symbol instead of standard GherkinKeyword * Update pom.xml * Update src/main/java/com/aventstack/extentreports/GherkinKeyword.java --- pom.xml | 2 +- .../extentreports/GherkinKeyword.java | 13 ++++++++----- .../extentreports/gherkin/model/And.java | 9 +++++++++ .../extentreports/gherkin/model/Asterisk.java | 19 +++++++++++++++++++ .../gherkin/model/Background.java | 9 +++++++++ .../extentreports/gherkin/model/But.java | 10 ++++++++++ .../extentreports/gherkin/model/Feature.java | 9 +++++++++ .../extentreports/gherkin/model/Given.java | 9 +++++++++ .../extentreports/gherkin/model/Scenario.java | 9 +++++++++ .../gherkin/model/ScenarioOutline.java | 9 +++++++++ .../extentreports/gherkin/model/Then.java | 9 +++++++-- .../extentreports/gherkin/model/When.java | 9 +++++++++ .../aventstack/extentreports/model/Test.java | 8 ++++++++ .../view/v3html/test-view/v3-html-bdd.ftl | 4 ++-- 14 files changed, 118 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/aventstack/extentreports/gherkin/model/Asterisk.java diff --git a/pom.xml b/pom.xml index e8821a0..e5d4255 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.aventstack extentreports - 4.0.0 + 4.0.1-SNAPSHOT extentreports www.extentreports.com Extent Framework diff --git a/src/main/java/com/aventstack/extentreports/GherkinKeyword.java b/src/main/java/com/aventstack/extentreports/GherkinKeyword.java index 174e445..49a2d53 100644 --- a/src/main/java/com/aventstack/extentreports/GherkinKeyword.java +++ b/src/main/java/com/aventstack/extentreports/GherkinKeyword.java @@ -9,6 +9,7 @@ import com.aventstack.extentreports.exceptions.GherkinKeywordNotFoundException; import com.aventstack.extentreports.gherkin.GherkinDialect; import com.aventstack.extentreports.gherkin.GherkinDialectProvider; +import com.aventstack.extentreports.gherkin.model.Asterisk; import com.aventstack.extentreports.gherkin.model.IGherkinFormatterModel; import freemarker.template.utility.StringUtil; @@ -44,13 +45,14 @@ public class GherkinKeyword { private Class clazz = IGherkinFormatterModel.class; private IGherkinFormatterModel keywordClazz; - public GherkinKeyword(String keyword) throws ClassNotFoundException { - GherkinDialect dialect = null; + public GherkinKeyword(String keyword) throws ClassNotFoundException { + GherkinDialect dialect = null; String apiKeyword = StringUtil.capitalize(keyword.trim()); String refPath = clazz.getPackage().getName(); try { - dialect = GherkinDialectProvider.getDialect(); + apiKeyword = apiKeyword.equals("*") ? Asterisk.class.getSimpleName() : apiKeyword; + dialect = GherkinDialectProvider.getDialect(); if (dialect != null && !dialect.getLanguage().equalsIgnoreCase(GherkinDialectProvider.getDefaultLanguage())) { apiKeyword = null; Map> keywords = dialect.getKeywords(); @@ -67,10 +69,11 @@ public GherkinKeyword(String keyword) throws ClassNotFoundException { } if (apiKeyword == null) { - throw new GherkinKeywordNotFoundException("Keyword " + keyword + " not available"); + throw new GherkinKeywordNotFoundException("Keyword " + apiKeyword + " cannot be null"); } - Class c = Class.forName(refPath + "." + apiKeyword.replace(" ", "")); + String clazzName = refPath + "." + apiKeyword.replace(" ", ""); + Class c = Class.forName(clazzName); keywordClazz = (IGherkinFormatterModel) c.newInstance(); } catch (InstantiationException | IllegalAccessException e) { logger.log(Level.SEVERE, "", e); diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/And.java b/src/main/java/com/aventstack/extentreports/gherkin/model/And.java index 36ee3d7..33ca122 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/And.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/And.java @@ -7,4 +7,13 @@ public class And private static final long serialVersionUID = 8543289653944756660L; + public static String getGherkinName() { + return "And"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Asterisk.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Asterisk.java new file mode 100644 index 0000000..fc55d28 --- /dev/null +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Asterisk.java @@ -0,0 +1,19 @@ +package com.aventstack.extentreports.gherkin.model; + +import java.io.Serializable; + +public class Asterisk + implements IGherkinFormatterModel, Serializable { + + private static final long serialVersionUID = 7251419811428200133L; + + public static String getGherkinName() { + return "*"; + } + + @Override + public String toString() { + return getGherkinName(); + } + +} diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Background.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Background.java index ebdb879..7157963 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/Background.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Background.java @@ -7,4 +7,13 @@ public class Background private static final long serialVersionUID = -955371501488725151L; + public static String getGherkinName() { + return "Background"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/But.java b/src/main/java/com/aventstack/extentreports/gherkin/model/But.java index cdd796e..e0e1a3a 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/But.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/But.java @@ -6,4 +6,14 @@ public class But implements IGherkinFormatterModel, Serializable { private static final long serialVersionUID = 3420514631996827220L; + + public static String getGherkinName() { + return "But"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Feature.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Feature.java index 9c3fbb1..d480ec1 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/Feature.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Feature.java @@ -7,4 +7,13 @@ public class Feature private static final long serialVersionUID = -4719215211721789414L; + public static String getGherkinName() { + return "Feature"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Given.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Given.java index dbbb1aa..64932fc 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/Given.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Given.java @@ -7,4 +7,13 @@ public class Given private static final long serialVersionUID = 939197985263690070L; + public static String getGherkinName() { + return "Given"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Scenario.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Scenario.java index 40b75f7..1baacc2 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/Scenario.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Scenario.java @@ -7,4 +7,13 @@ public class Scenario private static final long serialVersionUID = 7401124129196617280L; + public static String getGherkinName() { + return "Scenario"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/ScenarioOutline.java b/src/main/java/com/aventstack/extentreports/gherkin/model/ScenarioOutline.java index d8244e2..8089862 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/ScenarioOutline.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/ScenarioOutline.java @@ -7,4 +7,13 @@ public class ScenarioOutline private static final long serialVersionUID = -2058398543903906031L; + public static String getGherkinName() { + return "Scenario Outline"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/Then.java b/src/main/java/com/aventstack/extentreports/gherkin/model/Then.java index 19596f9..3caa778 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/Then.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/Then.java @@ -7,8 +7,13 @@ public class Then private static final long serialVersionUID = 2493591502473169772L; + public static String getGherkinName() { + return "Then"; + } + @Override - public String toString() { - return this.getClass().getSimpleName(); + public String toString() { + return getGherkinName(); } + } diff --git a/src/main/java/com/aventstack/extentreports/gherkin/model/When.java b/src/main/java/com/aventstack/extentreports/gherkin/model/When.java index edc9922..4cde5f2 100644 --- a/src/main/java/com/aventstack/extentreports/gherkin/model/When.java +++ b/src/main/java/com/aventstack/extentreports/gherkin/model/When.java @@ -7,4 +7,13 @@ public class When private static final long serialVersionUID = 8337259741948416898L; + public static String getGherkinName() { + return "When"; + } + + @Override + public String toString() { + return getGherkinName(); + } + } diff --git a/src/main/java/com/aventstack/extentreports/model/Test.java b/src/main/java/com/aventstack/extentreports/model/Test.java index 0dd7b73..d789155 100644 --- a/src/main/java/com/aventstack/extentreports/model/Test.java +++ b/src/main/java/com/aventstack/extentreports/model/Test.java @@ -1,6 +1,8 @@ package com.aventstack.extentreports.model; import java.io.Serializable; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -493,6 +495,12 @@ public void setBehaviorDrivenType(Class type) public Class getBehaviorDrivenType() { return bddType; } + + public String getBehaviorDrivenTypeName() throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException { + Method method = bddType.getMethod("getGherkinName"); + Object o = method.invoke(null, (Object[]) null); + return o.toString(); + } void setID(int id) { testId = id; diff --git a/src/main/resources/com/aventstack/extentreports/view/v3html/test-view/v3-html-bdd.ftl b/src/main/resources/com/aventstack/extentreports/view/v3html/test-view/v3-html-bdd.ftl index aa67a68..2a36bb2 100644 --- a/src/main/resources/com/aventstack/extentreports/view/v3html/test-view/v3-html-bdd.ftl +++ b/src/main/resources/com/aventstack/extentreports/view/v3html/test-view/v3-html-bdd.ftl @@ -28,7 +28,7 @@
    <#list node.nodeContext.all as child>
  • -
    ${child.getBehaviorDrivenType().getSimpleName()}: ${ child.name }
    +
    ${ child.name }
    <#if child.screenCaptureList?? && child.screenCaptureList?size != 0>
      <#list child.screenCaptureList as sc> @@ -50,7 +50,7 @@
        <#list child.nodeContext.all as gc>
      • -
        ${gc.getBehaviorDrivenType().getSimpleName()}: ${ gc.name }
        +
        ${ gc.name }
        <#if gc.screenCaptureList?? && gc.screenCaptureList?size != 0>
          <#list gc.screenCaptureList as sc> From 286c87a611fad44f7dfec3e54ea1e8c990acacd7 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Tue, 13 Nov 2018 15:13:46 -0500 Subject: [PATCH 3/5] disable checking for media existence as its causing issue with several cucumber1 users --- .../aventstack/extentreports/reporter/BasicFileReporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java b/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java index 04a959e..3053abe 100644 --- a/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java +++ b/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java @@ -245,7 +245,7 @@ public void onScreenCaptureAdded(Log log, ScreenCapture screenCapture) throws IO private void mediaExists(Media m) throws IOException { if (m.getPath() != null && !new File(m.getPath()).exists()) { - throw new IOException("Media was not found at [" + m.getPath() + "]"); + //throw new IOException("Media was not found at [" + m.getPath() + "]"); } } From e465f8ab4e35ce4cf16e7dc297c28cf996b760f1 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Tue, 13 Nov 2018 15:29:23 -0500 Subject: [PATCH 4/5] closes #5 Auto-size pre/textarea/code size upon click, use latest commit hash from extent-github-cdn --- .../aventstack/extentreports/reporter/BasicFileReporter.java | 5 ++++- .../aventstack/extentreports/view/v3html/v3-html-head.ftl | 2 +- .../aventstack/extentreports/view/v3html/v3-html-index.ftl | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java b/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java index 3053abe..7b2b144 100644 --- a/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java +++ b/src/main/java/com/aventstack/extentreports/reporter/BasicFileReporter.java @@ -250,9 +250,12 @@ private void mediaExists(Media m) throws IOException { } private void autoCreateRelativePathMedia(ScreenCapture screenCapture) throws IOException { + if (userConfig == null) + return; + String autoCreateRelativePathMedia = userConfig.getConfigMap().get(DEFAULT_MEDIA_SAVE_PROPERTY_NAME); // check always so user has the option to disable this setting at anytime - if (Boolean.valueOf(autoCreateRelativePathMedia)) { + if (autoCreateRelativePathMedia != null && Boolean.valueOf(autoCreateRelativePathMedia)) { if (media == null) { media = new LocalMediaStorageHandler(); media.init(destination + DEFAULT_MEDIA_SAVE_PATH_NAME); diff --git a/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-head.ftl b/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-head.ftl index aeb75af..2f174bb 100644 --- a/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-head.ftl +++ b/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-head.ftl @@ -10,7 +10,7 @@ - + ${ config.getValue('documentTitle') } diff --git a/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-index.ftl b/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-index.ftl index 58bbe22..99f7101 100644 --- a/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-index.ftl +++ b/src/main/resources/com/aventstack/extentreports/view/v3html/v3-html-index.ftl @@ -107,7 +107,7 @@ <#if config.getValue('offline')?string == 'true'> <#else> - + <#assign hide=(chartVisibleOnOpen=='true')?then(false, true)> <#if hide> From 2ae686469891a495fec4dd97e0636a170e9dc497 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Tue, 13 Nov 2018 15:35:55 -0500 Subject: [PATCH 5/5] release 4.0.1 --- pom-nexus.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom-nexus.xml b/pom-nexus.xml index 044fa84..61cfb81 100644 --- a/pom-nexus.xml +++ b/pom-nexus.xml @@ -3,7 +3,7 @@ com.aventstack extentreports - 4.0.0 + 4.0.1 extentreports www.extentreports.com Extent Framework diff --git a/pom.xml b/pom.xml index e5d4255..e8536c0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ com.aventstack extentreports - 4.0.1-SNAPSHOT + 4.0.1 extentreports www.extentreports.com Extent Framework