From 2e49870d80f30019fb7e75a437edb91ed70e5fb4 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Wed, 8 Jan 2020 17:07:17 -0800 Subject: [PATCH 01/12] closes #111 loadXmlConfig(File) --- .../extentreports/reporter/ConfigurableReporter.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/aventstack/extentreports/reporter/ConfigurableReporter.java b/src/main/java/com/aventstack/extentreports/reporter/ConfigurableReporter.java index 44b57d6..e179883 100644 --- a/src/main/java/com/aventstack/extentreports/reporter/ConfigurableReporter.java +++ b/src/main/java/com/aventstack/extentreports/reporter/ConfigurableReporter.java @@ -40,6 +40,15 @@ public void loadXMLConfig(String filePath, Boolean silent) { public void loadXMLConfig(String filePath) { loadXMLConfig(filePath, false); } + + /** + * Loads configuration from an XML file + * + * @param file configuration {@link File} + */ + public void loadXMLConfig(File file) { + loadXMLConfig(file, false); + } /** * Loads configuration from an XML file From 0c8c4cb832d031691a253187e9e90840090d0447 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Wed, 8 Jan 2020 17:24:19 -0800 Subject: [PATCH 02/12] closes #112 "other" status in attribute-view --- .../extentreports/offline/spark/css/spark-style.css | 6 +++++- .../aventstack/extentreports/view/spark/partials/head.ftl | 2 +- .../aventstack/extentreports/view/spark/partials/tag.ftl | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/resources/com/aventstack/extentreports/offline/spark/css/spark-style.css b/src/main/resources/com/aventstack/extentreports/offline/spark/css/spark-style.css index bfa32d6..5ab7ae0 100644 --- a/src/main/resources/com/aventstack/extentreports/offline/spark/css/spark-style.css +++ b/src/main/resources/com/aventstack/extentreports/offline/spark/css/spark-style.css @@ -382,7 +382,7 @@ img.r-img { background: #9ccc65; } .skip-bg,.avatar.skip { - background: #64b5f6; + background: #ff9900; } .error-bg,.avatar.skip { background: #ffd54f; @@ -393,6 +393,10 @@ img.r-img { .b-skip { border-color: #64b5f6; } + .badge-skip { + background-color: #ff9900 !important; + color: #fff; + } .badge.status { background: transparent !important; } diff --git a/src/main/resources/com/aventstack/extentreports/view/spark/partials/head.ftl b/src/main/resources/com/aventstack/extentreports/view/spark/partials/head.ftl index 5bbea1c..99ea49a 100644 --- a/src/main/resources/com/aventstack/extentreports/view/spark/partials/head.ftl +++ b/src/main/resources/com/aventstack/extentreports/view/spark/partials/head.ftl @@ -1,4 +1,4 @@ -<#assign resourceCDN=config.getConfig('resourceCDN') cdnURI="cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@" csscommit="3da944e596e81f10ac6c1042c792af8a5a741023" jscommit="3da944e596e81f10ac6c1042c792af8a5a741023" iconcommit="3da944e596e81f10ac6c1042c792af8a5a741023"> +<#assign resourceCDN=config.getConfig('resourceCDN') cdnURI="cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@" csscommit="b00a2d0486596e73dd7326beacf352c639623a0e" jscommit="b00a2d0486596e73dd7326beacf352c639623a0e" iconcommit="b00a2d0486596e73dd7326beacf352c639623a0e"> <#if resourceCDN=="extentreports"> <#assign cdnURI="extentreports.com/resx" csscommit="" jscommit="" iconcommit=""> diff --git a/src/main/resources/com/aventstack/extentreports/view/spark/partials/tag.ftl b/src/main/resources/com/aventstack/extentreports/view/spark/partials/tag.ftl index 4e7e917..3afb465 100644 --- a/src/main/resources/com/aventstack/extentreports/view/spark/partials/tag.ftl +++ b/src/main/resources/com/aventstack/extentreports/view/spark/partials/tag.ftl @@ -27,7 +27,8 @@ <#if context.passed!=0>${context.passed} <#if context.failed!=0>${context.failed} - <#if context.skipped!=0>${context.skipped} + <#if context.skipped!=0>${context.skipped} + <#if context.others!=0>${context.others} @@ -36,7 +37,8 @@

${context.name}

<#if context.passed!=0>${context.passed} passed <#if context.failed!=0>${context.failed} failed - <#if context.skipped!=0>${context.skipped} skipped + <#if context.skipped!=0>${context.skipped} skipped + <#if context.others!=0>${context.others} others From 8c3415251e6c70bb14a5c7087849e402288d7a9f Mon Sep 17 00:00:00 2001 From: anshooarora Date: Wed, 8 Jan 2020 17:37:38 -0800 Subject: [PATCH 03/12] bump pom for 4.1.2-SNAPSHOT --- 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 768823d..7c091b2 100644 --- a/pom-nexus.xml +++ b/pom-nexus.xml @@ -5,7 +5,7 @@ com.aventstack extentreports - 4.1.1 + 4.1.2-SNAPSHOT extentreports www.extentreports.com diff --git a/pom.xml b/pom.xml index 604a5af..02e6abe 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.aventstack extentreports - 4.1.1 + 4.1.2-SNAPSHOT extentreports www.extentreports.com From 012817363ec499804746065bc72fa8c4fae8335c Mon Sep 17 00:00:00 2001 From: anshooarora Date: Thu, 9 Jan 2020 19:02:54 -0800 Subject: [PATCH 04/12] closes #115 --- .../com/aventstack/extentreports/model/ScreenCapture.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/aventstack/extentreports/model/ScreenCapture.java b/src/main/java/com/aventstack/extentreports/model/ScreenCapture.java index 2f4b988..493d296 100644 --- a/src/main/java/com/aventstack/extentreports/model/ScreenCapture.java +++ b/src/main/java/com/aventstack/extentreports/model/ScreenCapture.java @@ -25,9 +25,7 @@ public Boolean isBase64() { public String getSource() { if (getBase64String() != null) return "base64-img"; - String path = "file:///"; - path += getScreenCapturePath().replace("\\","/"); - return ""; + return ""; } } From 656d1976747038ccc085ff1fe613fd69e21fd601 Mon Sep 17 00:00:00 2001 From: anshooarora Date: Tue, 14 Jan 2020 22:45:55 -0800 Subject: [PATCH 05/12] ref #117 --- .../java/com/aventstack/extentreports/ReportStatusStats.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/aventstack/extentreports/ReportStatusStats.java b/src/main/java/com/aventstack/extentreports/ReportStatusStats.java index 33e2f9f..a16ea9b 100644 --- a/src/main/java/com/aventstack/extentreports/ReportStatusStats.java +++ b/src/main/java/com/aventstack/extentreports/ReportStatusStats.java @@ -387,7 +387,7 @@ private void addTestForStatusStatsUpdate(Test test) { throw new InvalidAnalysisStrategyException("No such strategy found: " + strategy); } - private void updateEventsCount(Test test) { + private synchronized void updateEventsCount(Test test) { test.getLogContext().getAll().stream() .map(Log::getStatus) .forEach(this::incrementEvent); From a709aa84d10b8b856819e4ef9488f72a2e694bdf Mon Sep 17 00:00:00 2001 From: anshooarora Date: Wed, 15 Jan 2020 00:56:53 -0800 Subject: [PATCH 06/12] fixes #117 --- pom.xml | 2 +- .../java/com/aventstack/extentreports/ExtentReports.java | 2 +- .../com/aventstack/extentreports/ReportObservable.java | 7 +++++-- .../com/aventstack/extentreports/ReportStatusStats.java | 7 +++++-- src/main/java/com/aventstack/extentreports/model/Test.java | 1 - 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 02e6abe..ed96e71 100644 --- a/pom.xml +++ b/pom.xml @@ -75,7 +75,7 @@ org.testng testng - 6.9.10 + 6.14.3 test diff --git a/src/main/java/com/aventstack/extentreports/ExtentReports.java b/src/main/java/com/aventstack/extentreports/ExtentReports.java index ecfc25a..c89f03c 100644 --- a/src/main/java/com/aventstack/extentreports/ExtentReports.java +++ b/src/main/java/com/aventstack/extentreports/ExtentReports.java @@ -286,7 +286,7 @@ public void removeTest(ExtentTest test) { * */ @Override - public synchronized void flush() { + public void flush() { super.flush(); } diff --git a/src/main/java/com/aventstack/extentreports/ReportObservable.java b/src/main/java/com/aventstack/extentreports/ReportObservable.java index 27add73..1df2173 100644 --- a/src/main/java/com/aventstack/extentreports/ReportObservable.java +++ b/src/main/java/com/aventstack/extentreports/ReportObservable.java @@ -5,6 +5,7 @@ import java.util.Calendar; import java.util.Date; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; @@ -418,7 +419,7 @@ private void endTest(Test test) { *
  • A database being updated (eg. case of KlovReporter)
  • * */ - protected void flush() { + protected synchronized void flush() { generateRecentStatus(); notifyReporters(); } @@ -452,7 +453,9 @@ public synchronized void generateRecentStatus() { test.getExceptionInfoContext().getAll().forEach(x -> exceptionContext.setExceptionContext(x, test)); } if (TestService.testHasChildren(test)) { - for (Test node : test.getNodeContext().getAll()) { + Iterator iter = test.getNodeContext().getIterator(); + while (iter.hasNext()) { + Test node = iter.next(); copyNodeAttributeAndRunTimeInfoToAttributeContexts(node); node.setUsesManualConfiguration(getAllowManualConfig()); } diff --git a/src/main/java/com/aventstack/extentreports/ReportStatusStats.java b/src/main/java/com/aventstack/extentreports/ReportStatusStats.java index a16ea9b..8c5a7fc 100644 --- a/src/main/java/com/aventstack/extentreports/ReportStatusStats.java +++ b/src/main/java/com/aventstack/extentreports/ReportStatusStats.java @@ -1,5 +1,6 @@ package com.aventstack.extentreports; +import java.util.Iterator; import java.util.List; import com.aventstack.extentreports.gherkin.model.Scenario; @@ -387,11 +388,13 @@ private void addTestForStatusStatsUpdate(Test test) { throw new InvalidAnalysisStrategyException("No such strategy found: " + strategy); } - private synchronized void updateEventsCount(Test test) { + private void updateEventsCount(Test test) { test.getLogContext().getAll().stream() .map(Log::getStatus) .forEach(this::incrementEvent); - for (Test node : test.getNodeContext().getAll()) { + Iterator iter = test.getNodeContext().getIterator(); + while (iter.hasNext()) { + Test node = iter.next(); updateEventsCount(node); } } diff --git a/src/main/java/com/aventstack/extentreports/model/Test.java b/src/main/java/com/aventstack/extentreports/model/Test.java index 089b38a..0df24fb 100644 --- a/src/main/java/com/aventstack/extentreports/model/Test.java +++ b/src/main/java/com/aventstack/extentreports/model/Test.java @@ -305,7 +305,6 @@ public void setUsesManualConfiguration(boolean usesManualConfiguration) { private synchronized void updateStatus(Status logStatus) { int logStatusIndex = Status.getStatusHierarchy().indexOf(logStatus); int testStatusIndex = Status.getStatusHierarchy().indexOf(status); - status = logStatusIndex < testStatusIndex ? logStatus : status; } From 4a95898023d8ba6265f6fc9cdec5004dd6dc339a Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sat, 1 Feb 2020 10:15:05 -0800 Subject: [PATCH 07/12] fixes #121 --- .../java/com/aventstack/extentreports/ReportObservable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/aventstack/extentreports/ReportObservable.java b/src/main/java/com/aventstack/extentreports/ReportObservable.java index 1df2173..8a328bd 100644 --- a/src/main/java/com/aventstack/extentreports/ReportObservable.java +++ b/src/main/java/com/aventstack/extentreports/ReportObservable.java @@ -435,7 +435,6 @@ public synchronized void generateRecentStatus() { return; reportEndDate = Calendar.getInstance().getTime(); - refreshReportEntities(); for (Test test : testList) { endTest(test); @@ -462,6 +461,7 @@ public synchronized void generateRecentStatus() { } } + refreshReportEntities(); updateReportStartTimeForManualConfigurationSetting(); } From d7ae15cfaecfbdc33236a7772c3e6b65236f75fe Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sat, 1 Feb 2020 10:19:16 -0800 Subject: [PATCH 08/12] update method signatures --- .../java/com/aventstack/extentreports/ExtentReports.java | 6 +++--- .../java/com/aventstack/extentreports/ReportObservable.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/aventstack/extentreports/ExtentReports.java b/src/main/java/com/aventstack/extentreports/ExtentReports.java index c89f03c..e5f7a77 100644 --- a/src/main/java/com/aventstack/extentreports/ExtentReports.java +++ b/src/main/java/com/aventstack/extentreports/ExtentReports.java @@ -361,7 +361,7 @@ public void setTestRunnerOutput(String log) { * @return {@link ExtentKlovReporter} */ public ExtentReports tryResolveMediaPath() { - setImagePathResolveDir(IMAGE_PATH_RESOLVER_DIR); + setMediaPathResolveDir(IMAGE_PATH_RESOLVER_DIR); return this; } @@ -374,8 +374,8 @@ public ExtentReports tryResolveMediaPath() { * * @return {@link ExtentKlovReporter} */ - public ExtentReports tryResolveScreenCapturePath(String[] paths) { - setImagePathResolveDir(paths); + public ExtentReports tryResolveMediaPath(String[] paths) { + setMediaPathResolveDir(paths); return this; } diff --git a/src/main/java/com/aventstack/extentreports/ReportObservable.java b/src/main/java/com/aventstack/extentreports/ReportObservable.java index 8a328bd..f523429 100644 --- a/src/main/java/com/aventstack/extentreports/ReportObservable.java +++ b/src/main/java/com/aventstack/extentreports/ReportObservable.java @@ -563,7 +563,7 @@ protected void setAnalysisStrategy(AnalysisStrategy strategy) { stats = new ReportStatusStats(strategy); } - protected void setImagePathResolveDir(String[] imagePathResolveDir) { + protected void setMediaPathResolveDir(String[] imagePathResolveDir) { this.imagePathResolveDir = imagePathResolveDir; } From 046c611c029f4c955ef0aa643a03705689577e1e Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sat, 1 Feb 2020 10:20:10 -0800 Subject: [PATCH 09/12] Allows intantiating KlovReporter with just the project-name --- .../extentreports/reporter/ExtentKlovReporter.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/aventstack/extentreports/reporter/ExtentKlovReporter.java b/src/main/java/com/aventstack/extentreports/reporter/ExtentKlovReporter.java index 86cff55..95dbb03 100644 --- a/src/main/java/com/aventstack/extentreports/reporter/ExtentKlovReporter.java +++ b/src/main/java/com/aventstack/extentreports/reporter/ExtentKlovReporter.java @@ -99,9 +99,16 @@ public class ExtentKlovReporter extends ConfigurableReporter { } /** - * Initializes the KlovReporter + * Initializes the KlovReporter with the project name and default report name + * + *

    + * The reportName will be created using the current timestamp + * + * @param projectName Name of the project + * */ - public ExtentKlovReporter() { + public ExtentKlovReporter(String projectName) { + this.projectName = projectName; } /** From 63495e0b378e946b4f519a075cb734eaad9319cc Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sat, 1 Feb 2020 10:20:47 -0800 Subject: [PATCH 10/12] #114 provide hierarchical test-name --- .../extentreports/model/service/TestService.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/aventstack/extentreports/model/service/TestService.java b/src/main/java/com/aventstack/extentreports/model/service/TestService.java index 2b5d4a9..1de5b69 100644 --- a/src/main/java/com/aventstack/extentreports/model/service/TestService.java +++ b/src/main/java/com/aventstack/extentreports/model/service/TestService.java @@ -71,5 +71,14 @@ public static String getRunDuration(Test test) { public static Long getRunDurationMillis(Test test) { return test.getEndTime().getTime() - test.getStartTime().getTime(); } + + public static String getHierarchicalName(Test test) { + StringBuilder sb = new StringBuilder(test.getName()); + while (test.getParent() != null) { + test = test.getParent(); + sb.insert(0, test.getName() + "."); + } + return sb.toString(); + } } From c1eb452d75a639e148461163f9047f2eb0c7bd4e Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sun, 2 Feb 2020 23:19:13 -0800 Subject: [PATCH 11/12] update tests for parallel runs --- .../extentreports/ParallelClass3.java | 32 ++ .../extentreports/ParallelClass4.java | 32 ++ .../extentreports/ParallelMethods.java | 290 +++++++++++++++++- .../common/ExtentTestManager.java | 10 +- .../testng/components/ParallelTest1.java | 6 +- .../testng/components/ParallelTest2.java | 6 +- .../testng/components/ParallelTest3.java | 31 ++ .../testng/components/ParallelTest4.java | 31 ++ .../parallel/parallel-classes-api-tests.xml | 20 +- .../parallel-classes-testng-components.xml | 2 +- .../testng/parallel/parallel-classes.xml | 4 +- .../testng/parallel/parallel-methods.xml | 4 +- .../extentreports/testng/parallel/suite.xml | 9 + 13 files changed, 447 insertions(+), 30 deletions(-) create mode 100644 src/test/java/com/aventstack/extentreports/ParallelClass3.java create mode 100644 src/test/java/com/aventstack/extentreports/ParallelClass4.java create mode 100644 src/test/java/com/aventstack/extentreports/testng/components/ParallelTest3.java create mode 100644 src/test/java/com/aventstack/extentreports/testng/components/ParallelTest4.java create mode 100644 src/test/resources/com/aventstack/extentreports/testng/parallel/suite.xml diff --git a/src/test/java/com/aventstack/extentreports/ParallelClass3.java b/src/test/java/com/aventstack/extentreports/ParallelClass3.java new file mode 100644 index 0000000..9b13b0d --- /dev/null +++ b/src/test/java/com/aventstack/extentreports/ParallelClass3.java @@ -0,0 +1,32 @@ +package com.aventstack.extentreports; + +import java.lang.reflect.Method; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.aventstack.extentreports.Status; +import com.aventstack.extentreports.common.ExtentManager; +import com.aventstack.extentreports.common.ExtentTestManager; + +public class ParallelClass3 extends ParallelClassesBase { + + @Test + public void parallelClass1TestResultMustEqualWarning(Method method) { + ExtentTestManager.createTest(method.getName()).info("Log from threadId: " + Thread.currentThread().getId()); + ExtentTestManager.getTest().warning("Log from threadId: " + Thread.currentThread().getId()); + ExtentManager.getInstance().flush(); + + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void parallelClass1TestResultMustEqualSkip(Method method) { + ExtentTestManager.createTest(method.getName()).skip("Log from threadId: " + Thread.currentThread().getId()); + ExtentTestManager.getTest().pass("Log from threadId: " + Thread.currentThread().getId()); + ExtentManager.getInstance().flush(); + + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.SKIP); + } + +} diff --git a/src/test/java/com/aventstack/extentreports/ParallelClass4.java b/src/test/java/com/aventstack/extentreports/ParallelClass4.java new file mode 100644 index 0000000..7692d9e --- /dev/null +++ b/src/test/java/com/aventstack/extentreports/ParallelClass4.java @@ -0,0 +1,32 @@ +package com.aventstack.extentreports; + +import java.lang.reflect.Method; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.aventstack.extentreports.Status; +import com.aventstack.extentreports.common.ExtentManager; +import com.aventstack.extentreports.common.ExtentTestManager; + +public class ParallelClass4 extends ParallelClassesBase { + + @Test + public void parallelClass1TestResultMustEqualWarning(Method method) { + ExtentTestManager.createTest(method.getName()).info("Log from threadId: " + Thread.currentThread().getId()); + ExtentTestManager.getTest().warning("Log from threadId: " + Thread.currentThread().getId()); + ExtentManager.getInstance().flush(); + + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void parallelClass1TestResultMustEqualSkip(Method method) { + ExtentTestManager.createTest(method.getName()).skip("Log from threadId: " + Thread.currentThread().getId()); + ExtentTestManager.getTest().pass("Log from threadId: " + Thread.currentThread().getId()); + ExtentManager.getInstance().flush(); + + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.SKIP); + } + +} diff --git a/src/test/java/com/aventstack/extentreports/ParallelMethods.java b/src/test/java/com/aventstack/extentreports/ParallelMethods.java index 0222b5e..4726506 100644 --- a/src/test/java/com/aventstack/extentreports/ParallelMethods.java +++ b/src/test/java/com/aventstack/extentreports/ParallelMethods.java @@ -21,49 +21,325 @@ public void beforeClass() { @AfterClass public void afterClass() { - ExtentManager.getInstance().flush(); + ExtentTestManager.getReporter().flush(); } @Test public void method1(Method method) { - ExtentTestManager.createTest(method.getName()).pass("pass"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); } @Test public void method2(Method method) { - ExtentTestManager.createTest(method.getName()).fail("fail"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); } @Test public void method3(Method method) { - ExtentTestManager.createTest(method.getName()).error("error"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); } @Test public void method4(Method method) { - ExtentTestManager.createTest(method.getName()).warning("warning"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); } @Test public void method5(Method method) { - ExtentTestManager.createTest(method.getName()).info("info"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); } @Test public void method6(Method method) { - ExtentTestManager.createTest(method.getName()).fatal("fatal"); + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); } @Test public void method7(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).pass(""); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method17(Method method) { + ExtentTestManager.createTest(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method27(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); + } + + @Test + public void method37(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); + } + + @Test + public void method47(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void method57(Method method) { + ExtentTestManager.createTest(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method67(Method method) { + ExtentTestManager.createTest(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); + } + + @Test + public void method77(Method method) { ExtentTestManager.createTest(method.getName()); + ExtentTestManager.getReporter().flush(); Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); } + @Test + public void method1x(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method2x(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); + } + + @Test + public void method3x(Method method) { + ExtentTestManager.createTest(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); + } + + @Test + public void method4x(Method method) { + ExtentTestManager.createTest(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void method5x(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method6x(Method method) { + ExtentTestManager.createTest(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); + } + + @Test + public void method7x(Method method) { + ExtentTestManager.createTest(method.getName()); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method17y(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method27y(Method method) { + ExtentTestManager.createTest(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); + } + + @Test + public void method37y(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); + } + + @Test + public void method47y(Method method) { + ExtentTestManager.createTest(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void method57y(Method method) { + ExtentTestManager.createTest(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method67y(Method method) { + ExtentTestManager.createTest(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); + } + + @Test + public void method77y(Method method) { + ExtentTestManager.createTest(method.getName()); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method1v(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method2v(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); + } + + @Test + public void method3v(Method method) { + ExtentTestManager.createTest(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); + } + + @Test + public void method4v(Method method) { + ExtentTestManager.createTest(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void method5v(Method method) { + ExtentTestManager.createTest(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method6v(Method method) { + ExtentTestManager.createTest(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); + } + + @Test + public void method7v(Method method) { + ExtentTestManager.createTest(method.getName()); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method17b(Method method) { + ExtentTestManager.createTest(method.getName()).pass("pass"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method27b(Method method) { + ExtentTestManager.createTest(method.getName()).fail("fail"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FAIL); + } + + @Test + public void method37b(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).error("error"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.ERROR); + } + + @Test + public void method47b(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).warning("warning"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.WARNING); + } + + @Test + public void method57b(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).info("info"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method67b(Method method) { + ExtentTestManager.createTest(method.getName()).createNode(method.getName()).fatal("fatal"); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.FATAL); + } + + @Test + public void method77g(Method method) { + ExtentTestManager.createTest(method.getName()).pass("").createNode(method.getName()).info(""); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method47g(Method method) { + ExtentTestManager.createTest(method.getName()).pass("").createNode(method.getName()).info(""); + ExtentTestManager.getReporter().flush(); + } + + @Test + public void method57g(Method method) { + ExtentTestManager.createTest(method.getName()).pass("").createNode(method.getName()).info(""); + ExtentTestManager.getReporter().flush(); + Assert.assertEquals(ExtentTestManager.getTest().getStatus(), Status.PASS); + } + + @Test + public void method67g(Method method) { + ExtentTestManager.createTest(method.getName()).pass("").createNode(method.getName()).info(""); + ExtentTestManager.getReporter().flush(); + } + + @Test + public void method77u(Method method) { + ExtentTestManager.createTest(method.getName()).pass("").createNode(method.getName()).info(""); + ExtentTestManager.getReporter().flush(); + } } diff --git a/src/test/java/com/aventstack/extentreports/common/ExtentTestManager.java b/src/test/java/com/aventstack/extentreports/common/ExtentTestManager.java index f555606..b514b8b 100644 --- a/src/test/java/com/aventstack/extentreports/common/ExtentTestManager.java +++ b/src/test/java/com/aventstack/extentreports/common/ExtentTestManager.java @@ -11,19 +11,23 @@ public class ExtentTestManager { static Map extentTestMap = new HashMap(); private static ExtentReports extent; - public static synchronized void setReporter(ExtentReports extent) { + public static void setReporter(ExtentReports extent) { ExtentTestManager.extent = extent; } + + public static ExtentReports getReporter() { + return extent; + } public static synchronized ExtentTest getTest() { return extentTestMap.get((int) (long) (Thread.currentThread().getId())); } - public static synchronized ExtentTest createTest(String testName) { + public static ExtentTest createTest(String testName) { return createTest(testName, ""); } - public static synchronized ExtentTest createTest(String testName, String desc) { + public static ExtentTest createTest(String testName, String desc) { ExtentTest test = extent.createTest(testName, desc); extentTestMap.put((int) (long) (Thread.currentThread().getId()), test); diff --git a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest1.java b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest1.java index 210c98f..46aa49f 100644 --- a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest1.java +++ b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest1.java @@ -12,19 +12,19 @@ public class ParallelTest1 extends ExtentTestNGReportBuilder { @Test(groups = "pass") public void passTest1() { Reporter.log("Started passTest"); - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } Assert.assertEquals(Status.PASS, Status.PASS); } @Test(expectedExceptions = SkipException.class, groups = "skip") public void skipTest1() { - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } throw new SkipException("Intentionally skipped test."); } @Test(expectedExceptions = RuntimeException.class, groups = "fail") public void failTest1() { - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } throw new RuntimeException("Intentionally failed test."); } diff --git a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest2.java b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest2.java index 291d0fd..11c77cc 100644 --- a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest2.java +++ b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest2.java @@ -12,19 +12,19 @@ public class ParallelTest2 extends ExtentTestNGReportBuilder { @Test(groups = "pass") public void passTest2() { Reporter.log("Started passTest"); - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } Assert.assertEquals(Status.PASS, Status.PASS); } @Test(expectedExceptions = SkipException.class, groups = "skip") public void skipTest2() { - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } throw new SkipException("Intentionally skipped test."); } @Test(expectedExceptions = RuntimeException.class, groups = "fail") public void failTest2() { - try { Thread.sleep(2000); } catch(Exception e) { } + try { Thread.sleep(100); } catch(Exception e) { } throw new RuntimeException("Intentionally failed test."); } diff --git a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest3.java b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest3.java new file mode 100644 index 0000000..f225a4e --- /dev/null +++ b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest3.java @@ -0,0 +1,31 @@ +package com.aventstack.extentreports.testng.components; + +import org.testng.Assert; +import org.testng.Reporter; +import org.testng.SkipException; +import org.testng.annotations.Test; + +import com.aventstack.extentreports.Status; + +public class ParallelTest3 extends ExtentTestNGReportBuilder { + + @Test(groups = "pass") + public void passTest2() { + Reporter.log("Started passTest"); + try { Thread.sleep(100); } catch(Exception e) { } + Assert.assertEquals(Status.PASS, Status.PASS); + } + + @Test(expectedExceptions = SkipException.class, groups = "skip") + public void skipTest2() { + try { Thread.sleep(100); } catch(Exception e) { } + throw new SkipException("Intentionally skipped test."); + } + + @Test(expectedExceptions = RuntimeException.class, groups = "fail") + public void failTest2() { + try { Thread.sleep(100); } catch(Exception e) { } + throw new RuntimeException("Intentionally failed test."); + } + +} diff --git a/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest4.java b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest4.java new file mode 100644 index 0000000..314ebe8 --- /dev/null +++ b/src/test/java/com/aventstack/extentreports/testng/components/ParallelTest4.java @@ -0,0 +1,31 @@ +package com.aventstack.extentreports.testng.components; + +import org.testng.Assert; +import org.testng.Reporter; +import org.testng.SkipException; +import org.testng.annotations.Test; + +import com.aventstack.extentreports.Status; + +public class ParallelTest4 extends ExtentTestNGReportBuilder { + + @Test(groups = "pass") + public void passTest2() { + Reporter.log("Started passTest"); + try { Thread.sleep(100); } catch(Exception e) { } + Assert.assertEquals(Status.PASS, Status.PASS); + } + + @Test(expectedExceptions = SkipException.class, groups = "skip") + public void skipTest2() { + try { Thread.sleep(100); } catch(Exception e) { } + throw new SkipException("Intentionally skipped test."); + } + + @Test(expectedExceptions = RuntimeException.class, groups = "fail") + public void failTest2() { + try { Thread.sleep(100); } catch(Exception e) { } + throw new RuntimeException("Intentionally failed test."); + } + +} diff --git a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-api-tests.xml b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-api-tests.xml index 7c338ee..71e23c7 100644 --- a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-api-tests.xml +++ b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-api-tests.xml @@ -3,18 +3,18 @@ - - - - + + + + - - - + + + - - - + + + \ No newline at end of file diff --git a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-testng-components.xml b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-testng-components.xml index 8a95775..a524d9d 100644 --- a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-testng-components.xml +++ b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes-testng-components.xml @@ -1,5 +1,5 @@ - + diff --git a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes.xml b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes.xml index 08544d8..2a68c14 100644 --- a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes.xml +++ b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-classes.xml @@ -1,9 +1,11 @@ - + + + \ No newline at end of file diff --git a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-methods.xml b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-methods.xml index 91ad18d..6f177d3 100644 --- a/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-methods.xml +++ b/src/test/resources/com/aventstack/extentreports/testng/parallel/parallel-methods.xml @@ -1,6 +1,6 @@ - - + + diff --git a/src/test/resources/com/aventstack/extentreports/testng/parallel/suite.xml b/src/test/resources/com/aventstack/extentreports/testng/parallel/suite.xml new file mode 100644 index 0000000..b6a27eb --- /dev/null +++ b/src/test/resources/com/aventstack/extentreports/testng/parallel/suite.xml @@ -0,0 +1,9 @@ + + + + + + + + + From 3de55703e60bba82a9e2585dbd2a8522a1710c2d Mon Sep 17 00:00:00 2001 From: anshooarora Date: Sun, 2 Feb 2020 23:39:36 -0800 Subject: [PATCH 12/12] release 4.1.2 --- CHANGELOG.md | 13 ++++++++++++- pom-nexus.xml | 4 ++-- pom.xml | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1eb3cc..3ff9697 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,15 @@ -## [4.10.0](https://github.com/extent-framework/extentreports-java/compare/v4.0.9...v4.1.0) +## [4.1.2](https://github.com/extent-framework/extentreports-java/compare/v4.1.1...v4.1.2) +#### Improvements +* [#114] Tags tab lost a display of a full name of test +* ExtentKlovReporter can not be initialized with the `projectName` + +#### Fixes +* [#115] Fixes issue with Base64 strings not displaying +* [#121] Fixes BDD SessionStats bug causing feature aggregates to be miscalculated + +## [4.1.1](https://github.com/extent-framework/extentreports-java/compare/v4.1.0...v4.1.1) + +## [4.1.0](https://github.com/extent-framework/extentreports-java/compare/v4.0.9...v4.1.0) #### Improvements * [#18] Steps count in dashboard displays 0 even though there are logged steps * [#94] Cleanup tag view naming diff --git a/pom-nexus.xml b/pom-nexus.xml index 7c091b2..6f0ec20 100644 --- a/pom-nexus.xml +++ b/pom-nexus.xml @@ -5,7 +5,7 @@ com.aventstack extentreports - 4.1.2-SNAPSHOT + 4.1.2 extentreports www.extentreports.com @@ -75,7 +75,7 @@ org.testng testng - 6.9.10 + 6.14.3 test diff --git a/pom.xml b/pom.xml index ed96e71..feb05d5 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.aventstack extentreports - 4.1.2-SNAPSHOT + 4.1.2 extentreports www.extentreports.com