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 768823d..6f0ec20 100644
--- a/pom-nexus.xml
+++ b/pom-nexus.xml
@@ -5,7 +5,7 @@
com.aventstack
extentreports
- 4.1.1
+ 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 604a5af..feb05d5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.aventstack
extentreports
- 4.1.1
+ 4.1.2
extentreports
www.extentreports.com
@@ -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..e5f7a77 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();
}
@@ -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 27add73..f523429 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();
}
@@ -434,7 +435,6 @@ public synchronized void generateRecentStatus() {
return;
reportEndDate = Calendar.getInstance().getTime();
- refreshReportEntities();
for (Test test : testList) {
endTest(test);
@@ -452,13 +452,16 @@ 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());
}
}
}
+ refreshReportEntities();
updateReportStartTimeForManualConfigurationSetting();
}
@@ -560,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;
}
diff --git a/src/main/java/com/aventstack/extentreports/ReportStatusStats.java b/src/main/java/com/aventstack/extentreports/ReportStatusStats.java
index 33e2f9f..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;
@@ -391,7 +392,9 @@ 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/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 "
";
}
}
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;
}
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();
+ }
}
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
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;
}
/**
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="">
#if>
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>
<#if context.failed!=0>${context.failed}#if>
- <#if context.skipped!=0>${context.skipped}#if>
+ <#if context.skipped!=0>${context.skipped}#if>
+ <#if context.others!=0>${context.others}#if>
@@ -36,7 +37,8 @@
${context.name}
<#if context.passed!=0>${context.passed} passed#if>
<#if context.failed!=0>${context.failed} failed#if>
- <#if context.skipped!=0>${context.skipped} skipped#if>
+ <#if context.skipped!=0>${context.skipped} skipped#if>
+ <#if context.others!=0>${context.others} others#if>
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 @@
+
+
+
+
+
+
+
+
+