Framework Overview
Architecture, Components, and Capabilities
The automation framework is the workhorse of this toolset. It performs the actual actions and interactions with the application under test, providing a robust and scalable solution for automated testing with intelligent recommendation capabilities and comprehensive security assessment. ?
Core Features
- mAi Advisor™ intelligent recommendation engine with multi-audience guidance
- HTTP Security Auditing with automated vulnerability detection
- Network Diagnostics for connectivity and performance validation
- JUnit 5 based automated test cases with modern assertions
- Page Object Model (POM) for maintainable page element organization
- Maven based dependency and execution management
- Selenium 4 using WebDriver for browser automation
- Built for extensibility with modular component design
- Cloud integration with Google BigQuery for test analytics
- Comprehensive reporting via Allure Report framework
- Cross-browser support for Chrome, Firefox, Safari, and Edge
Framework Architecture ?
The framework is designed with a modular, layered architecture that promotes:
- Separation of Concerns: Clear boundaries between test logic and implementation
- Reusability: Shared components and utilities across test suites
- Maintainability: Easy updates when application changes
- Scalability: Support for growing test suites and parallel execution
- Extensibility: Simple addition of new features and integrations
- Intelligence: Automated guidance through mAi Advisor™ recommendation engine
8-Layer Architecture
The framework comprises 8 distinct architectural layers, each with specific responsibilities:
Test Layer
JUnit 5 test suites and test cases with execution lifecycle management
Page Object Layer
Encapsulated page interactions following POM design pattern
Advisor Layer
mAi™ intelligent recommendation engine (7 classes, 16+ templates)
Auditing Layer
HTTP security assessment and compliance validation (6 classes)
Network Layer
Connection testing and diagnostic tools (4 classes)
Framework Core
Utilities, assertions, and data management (19 utility classes)
Infrastructure Layer
WebDriver management, configuration, and browser automation
Reporting Layer
Test results, analytics, and cloud integration (Allure, BigQuery)
Test Execution Hierarchy ?
The framework follows a hierarchical execution model from Maven initiation through individual test steps. See Maven to Test Case Diagram for a visual representation.
graph TD
M[Maven] --> TR[Test Run]
TR --> TS1[TestSuite: Authentication]
TS1 --> TC1[TestCase: Valid Login]
TC1 --> TP1[Step: Go to URL]
TP1 --> TP2[Step: Validate on page Welcome]
TP2 --> TP3[Step: Enter UID]
TP3 --> TP4[Step: Enter PW]
TP4 --> TP5[Step: Click Login]
TP5 --> TP6[Step: Validate on page Home]
TS1 --> TC2[TestCase: Invalid Login]
TC2 --> TP11[Step: Go to URL]
TP11 --> TP12[Step: Validate on page Welcome]
TP12 --> TP13[Step: Leave UID Empty]
TP13 --> TP14[Step: Enter PW]
TP14 --> TP15[Step: Click Login]
TP15 --> TP16[Step: Validate Error Message]
TR --> TS2[TestSuite: Navigation]
TS2 --> TC3[TestCase: Navigate to Help]
TC3 --> TP21[Step: Go to URL]
TP21 --> TP22[Step: Validate on page Welcome]
TP22 --> TP23[Step: Click Help]
TP23 --> TP24[Step: Validate on page Help]
TS2 --> TC4[TestCase: Navigate to Catalog]
TC4 --> TP31[Step: Go to URL]
TP31 --> TP32[Step: Validate on page Welcome]
TP32 --> TP33[Step: Click Catalog]
TP33 --> TP34[Step: Validate on page Catalog]
TR --> TS3[TestSuite: HTTP Assessment]
TS3 --> TC5[TestCase: Security Audit]
TC5 --> TP41[Step: Execute HTTP Audit]
TP41 --> TP42[Step: Generate Recommendations]
TP42 --> TP43[Step: Create Reports]
style M fill:#4a90d9
style TR fill:#4a90d9
style TS1 fill:#50c878
style TS2 fill:#50c878
style TS3 fill:#50c878
style TC1 fill:#f5a623
style TC2 fill:#f5a623
style TC3 fill:#f5a623
style TC4 fill:#f5a623
style TC5 fill:#f5a623
| Level | Component | Description |
|---|---|---|
| 1 | Maven | Build system that initiates test execution |
| 2 | Test Run | Complete execution session managed by FW_TestRunManager |
| 3 | Test Suite | JUnit 5 test class containing related test cases |
| 4 | Test Case | Individual @Test method testing specific functionality |
| 5 | Test Step | Atomic action with pass/fail outcome and screenshot |
Key Components
Test Management
- FW_TestRunManager: Orchestrates test execution lifecycle and coordinates suite execution
- FW_TestRunTracker: Singleton pattern for tracking test metrics across runs
- FW_TestSuite: Test suite metadata, organization, and discovery
- FW_TestCase: Individual test case management and execution tracking
- FW_TestStep: Granular test step tracking with timestamps and results
mAi Advisor™ System
- FW_Advisor: Main advisor interface and factory for recommendation generation
- FW_AdvisorEngine: Core recommendation generation engine with template matching
- FW_AdvisorTemplateLoader: JSON template management and validation
- FW_AdvisorTemplate: Template data structure with two-tier content model
- FW_AdvisorAudience: Multi-audience targeting (6 audience types)
- FW_AdvisorRecommendation: Generated recommendation object with audience-specific content
- FW_AdvisorFinding: HTTP audit finding wrapper for advisor integration
Template Library
- Security Templates (8): SSL/TLS, CSP, HSTS, Cookie Security, HTTPS, Permissions Policy, Referrer Policy, X-Frame-Options
- Performance Templates (3): Compression, Caching, Response Time
- Compliance Templates (2): GDPR, PCI-DSS
- Infrastructure Templates (2): Server Configuration, DNS
HTTP Security Auditing
- FW_AuditManager: Audit orchestration, execution control, and result aggregation
- FW_Audit_HttpReview: HTTP security header validation and analysis
- FW_HttpExecutor: HTTP request execution with detailed metrics capture
- FW_Http: HTTP transaction data object with request/response details
- FW_HttpDiagnosticReporter: HTML diagnostic report generation with findings
- FW_HttpReporter: Summary statistics and overview reports
Network Diagnostics
- FW_Audit_Ping: ICMP ping testing with packet loss and latency metrics
- FW_Traceroute: Network route tracing with hop-by-hop analysis
- FW_SpeedTest: Bandwidth measurement for upload/download performance
- FW_NetworkDetails: Comprehensive network metadata and configuration capture
Page Objects ?
- PO_Login: Login page interactions and authentication flows
- PO_Products: Product listing page with search and filter interactions
- PO_Cart: Shopping cart functionality and item management
- PO_Checkout: Checkout process with form handling
- PO_Checkout_Overview: Order review and confirmation
- PO_Thank_You: Order completion and confirmation messaging
- PO_Common_Hamburger: Navigation menu and sidebar interactions
Core Utilities (19 Classes)
- FW_CustomAssertJU: Enhanced assertions with automatic screenshot capture
- FW_ConfigMgr: Configuration management and property file handling
- FW_DateTimeUtils: UTC timestamp standardization and time zone handling
- FW_GoogleCloudUtils: Google Cloud service integration (BigQuery, Storage)
- FW_GoogleSheetUtils: Google Sheets API integration for data export
- FW_CSVUtils: CSV file operations for data export and import
- FW_HttpUtils: HTTP operations and request/response handling
- FW_NetworkUtils: Network operations and connectivity validation
- FW_StringUtils: String manipulation and formatting utilities
- FW_NumberUtils: Number formatting and validation utilities
- FW_FileDirUtils: File system operations and directory management
- FW_ImageUtils: Image processing and manipulation utilities
- FW_ScreenUtils: Screenshot capture and image saving
- FW_TestStepUtils: Test step processing and data extraction
- FW_JUnitUtils: JUnit integration and test discovery utilities
- FW_ReportUtils: Report generation and formatting utilities
- FW_DebugUtils: Debug logging and diagnostic output
- FW_ConsoleColors: Terminal color output for enhanced readability
- FW_MarkdownUtils: Markdown generation for documentation and reports
Data Pipeline ?
- FW_TestStepDataCollector: Collects test step data during execution
- FW_TestStepDataProcessor: Processes and transforms collected data
- FW_CSVWriterUtil: Writes test data to CSV files
- FW_GoogleCloudBigQueryUploader: Uploads test data to BigQuery for analytics
Advanced Features
mAi Advisor™ Intelligent Recommendations
The mAi Advisor™ system provides context-aware recommendations tailored to six distinct audiences:
| Audience Type | Focus | Receives |
|---|---|---|
| Executive | Business risk, compliance | Understanding tier |
| Project Manager | Timeline, effort estimates | Understanding tier |
| Developer | Code examples, implementation | Understanding + Action tiers |
| DevOps/Ops | Server configs, deployment | Understanding + Action tiers |
| QA Tester | Test cases, validation | Understanding + Action tiers |
| Security Engineer | Threat analysis, compliance | Understanding tier |
Two-Tier Content Model
- Understanding Tier: Explains what's wrong and why it matters (all audiences)
- Action Tier: Provides step-by-step implementation guidance (implementers only)
Framework Detection
Automatic detection and tailored code examples for:
- Spring Boot (Java)
- Express.js (Node.js)
- ASP.NET Core (C#)
- Nginx (Web Server)
- Apache (Web Server)
- Generic/Fallback patterns
HTTP Security Assessment
See HTTP Assessment Documentation for complete details.
Audit Capabilities
- 12+ security header validation (CSP, HSTS, X-Frame-Options, etc.)
- SSL/TLS certificate inspection and expiration checking
- Cookie security analysis (HttpOnly, Secure, SameSite)
- Performance metrics (response time, compression, caching)
- Compliance validation (GDPR, PCI-DSS)
Report Generation
- HTML diagnostic reports with color-coded findings
- Summary statistics and overview reports
- Automatic mAi Advisor™ recommendations for each finding
- Exportable results for compliance documentation
Network Diagnostics
See Network Diagnostics Documentation for complete details.
- Ping: Connectivity validation with packet loss and latency metrics
- Traceroute: Network path analysis with hop-by-hop response times
- Speed Test: Bandwidth measurement for performance baselining
- Network Details: System configuration and network metadata capture
Benefits
- Intelligent Guidance: mAi Advisor™ provides context-aware recommendations for every finding
- Security First: Automated HTTP security audits identify vulnerabilities before deployment
- Reduced Maintenance: Page Object pattern isolates UI changes from test logic
- Faster Development: Reusable components and utilities accelerate test creation
- Better Reporting: Detailed test execution metrics with visual dashboards
- Cloud Analytics: BigQuery integration for historical analysis and trending
- CI/CD Ready: Maven integration for seamless pipeline automation
- Multi-Audience: Recommendations tailored to 6 different audience types
Getting Started
| Step | Document | Description |
|---|---|---|
| 1 | Setup Guide | Installation instructions and environment configuration |
| 2 | Test Development | Writing tests with Page Object Model |
| 3 | Test Execution | Running tests and generating reports |
| 4 | Architecture Diagrams | Visual understanding of framework structure |
| 5 | HTTP Security Assessment | Automated security audits |
| 6 | mAi Advisor™ | Intelligent recommendations |
Related Documentation
| Document | Description |
|---|---|
| Architecture Diagram | Visual representation of the 8-layer architecture |
| Maven to Test Case | Test execution hierarchy visualization |
| Data Pipeline | Test data collection and BigQuery integration |
| HTTP Audit Pipeline | Security assessment workflow visualization |
| Advisor Flow | mAi Advisor™ recommendation generation process |
| API Documentation | JavaDocs (run mvn site first) |