Advanced Configuration & Customization
This section covers controlled customization of Extent Reports used in real-time enterprise projects. The goal is clarity and traceability—not visual overengineering.
1️⃣ Report Themes & Appearance
Supported Themes
Theme.STANDARDTheme.DARK
spark.config().setTheme(Theme.DARK);
Real-Time Recommendation
- Use STANDARD for business users
- Use DARK for developer-heavy teams
Avoid custom CSS unless explicitly required.
2️⃣ Report Identity & Metadata
Report Name & Title
spark.config().setReportName("UI Automation Results");
spark.config().setDocumentTitle("Test Execution Report");
These should be stable and environment-aware, not test-specific.
3️⃣ System Information (Mandatory in Enterprises)
extent.setSystemInfo("OS", System.getProperty("os.name"));
extent.setSystemInfo("Java Version", System.getProperty("java.version"));
extent.setSystemInfo("Browser", browserName);
extent.setSystemInfo("Environment", env);
extent.setSystemInfo("Build", buildNumber);
Why This Matters
- Debugging CI failures
- Audit trails
- Release validation
4️⃣ Test Categorization & Tagging
Categories
test.assignCategory("Smoke", "Regression");
Authors
test.assignAuthor("Automation Team");
Devices
test.assignDevice("Chrome_Desktop");
Used heavily in large test suites for filtering.
5️⃣ Dynamic Naming (Safe Usage)
Allowed:
- Test name
- Browser
- Environment
extent.createTest(testName + " [Chrome][QA]");
Avoid adding timestamps to test names—use them in report folders instead.
6️⃣ Parent–Child Tests (Nodes)
When to Use
- Data-driven tests
- Multi-step workflows
ExtentTest parent = extent.createTest("Checkout Flow");
ExtentTest child = parent.createNode("Valid Payment");
Do not overuse nodes; they add complexity.
7️⃣ What NOT to Customize
❌ Heavy CSS/JS overrides ❌ Emojis in logs for enterprise reports ❌ Dynamic UI manipulation ❌ Screenshot styling hacks
Customization should never affect reliability.
🧠 Key Takeaways
- Keep customization minimal and meaningful
- Metadata > visuals
- Categorization helps at scale
- Stability always beats aesthetics