1+ package com .anhtester .reports ;
2+
3+ import com .anhtester .drivers .DriverManager ;
4+ import com .aventstack .extentreports .ExtentReports ;
5+ import com .aventstack .extentreports .ExtentTest ;
6+ import com .aventstack .extentreports .MediaEntityBuilder ;
7+ import com .aventstack .extentreports .Status ;
8+ import org .openqa .selenium .OutputType ;
9+ import org .openqa .selenium .TakesScreenshot ;
10+
11+ import java .util .HashMap ;
12+ import java .util .Map ;
13+
14+ public class ExtentTestManager {
15+ static Map <Integer , ExtentTest > extentTestMap = new HashMap <>();
16+ static ExtentReports extent = ExtentReportManager .getExtentReports ();
17+
18+ public static ExtentTest getTest () {
19+ return extentTestMap .get ((int ) Thread .currentThread ().getId ());
20+ }
21+
22+ public static synchronized ExtentTest saveToReport (String testName , String desc ) {
23+ ExtentTest test = extent .createTest (testName , desc );
24+ extentTestMap .put ((int ) Thread .currentThread ().getId (), test );
25+ return test ;
26+ }
27+
28+ public static void addScreenShot (String message ) {
29+ String base64Image = "data:image/png;base64,"
30+ + ((TakesScreenshot ) DriverManager .getDriver ()).getScreenshotAs (OutputType .BASE64 );
31+
32+ getTest ().log (Status .INFO , message ,
33+ MediaEntityBuilder .createScreenCaptureFromBase64String (base64Image ).build ());
34+ }
35+
36+ public static void addScreenShot (Status status , String message ) {
37+ String base64Image = "data:image/png;base64,"
38+ + ((TakesScreenshot ) DriverManager .getDriver ()).getScreenshotAs (OutputType .BASE64 );
39+
40+ getTest ().log (status , message ,
41+ MediaEntityBuilder .createScreenCaptureFromBase64String (base64Image ).build ());
42+ }
43+
44+ public static void logMessage (String message ) {
45+ getTest ().log (Status .INFO , message );
46+ }
47+
48+ public static void logMessage (Status status , String message ) {
49+ getTest ().log (status , message );
50+ }
51+ }
0 commit comments