This page documents the comprehensive feature set of the AutomationFrameworkSelenium framework and chronicles its development history from version 1.0.0 (April 2022) to the current version 2.6.5 (October 2025). It provides a historical perspective on feature additions, dependency updates, and architectural improvements. For framework architecture and design patterns, see Core Architecture. For configuration options that control these features, see Configuration System.
The framework provides a comprehensive suite of capabilities organized into functional categories. The table below maps high-level features to their implementing code entities:
| Feature Category | Capabilities | Primary Code Entities |
|---|---|---|
| Test Execution | Parallel test execution, TestNG integration, test lifecycle management | BaseTest, TestListener, suite XMLs in src/test/resources/suites/ |
| Browser Management | Multi-browser support (Chrome, Edge, Firefox, Safari), headless mode, remote execution | BrowserFactory, DriverManager, TargetFactory |
| WebUI Keywords | 100+ reusable automation keywords, smart waits, element interactions | WebUI class, keywords submodule |
| Reporting | Dual reporting (ExtentReports HTML/PDF, Allure), screenshot capture, video recording | ExtentReportManager, AllureManager, CaptureHelpers, ScreenRecoderHelpers |
| Data-Driven Testing | Excel data reading, JSON parsing, CSV support, fake data generation | ExcelHelpers, JsonUtils, DataFakerUtils, DataProviderManager |
| Configuration | Properties-based config, framework constants, environment-specific settings | config.properties, FrameworkConstants, PropertiesHelpers |
| Notifications | Telegram Bot integration, email reports with attachments | TelegramManager, EmailSendUtils, EmailConfig |
| Logging | Log4j2 integration, file rotation, console output | LogUtils, src/main/resources/log4j2.properties |
| CI/CD | GitHub Actions workflow, Docker Selenium Grid, artifact management | .github/workflows/maven.yml docker-compose.yml |
| Utilities | File operations, ZIP compression, string manipulation, language utilities | FileHelpers, ZipUtils, LanguageUtils, SystemHelpers |
| Wait Strategies | Smart waits, page load detection, implicit/explicit waits, custom timeouts | WebUI wait methods, WAIT_PAGE_LOADED, WAIT_IMPLICIT, WAIT_EXPLICIT in config |
| Authentication | Selenium 4 authentication, CDP-based network manipulation | WebUI.Authentication(), CDP devtools integration |
| Retry Mechanism | Automatic retry of failed tests | IAnnotationTransformer, IRetryAnalyzer implementations |
Sources: README.md9-27 CHANGELOG.txt336-344
The diagram below maps framework capabilities to specific code entities, bridging conceptual features to implementation:
Sources: README.md9-27 CHANGELOG.txt1-345 src/main/java/anhtester/com/keywords/WebUI.java src/main/java/anhtester/com/driver/BrowserFactory.java src/main/java/anhtester/com/reports/
The framework has undergone continuous development with 30+ versions released between April 2022 and October 2025. The timeline below highlights major milestones:
Sources: CHANGELOG.txt1-345
The framework maintains active alignment with Selenium WebDriver releases and Chromium DevTools Protocol (CDP) versions. This table tracks the progression:
| Framework Version | Release Date | Selenium Version | CDP Version | Chrome Version | Key Changes |
|---|---|---|---|---|---|
| v1.0.0 | Apr 5, 2022 | 4.x (early) | N/A | N/A | Initial framework release |
| v1.7.0 | Aug 11, 2022 | 4.4.0 | 104 | 104 | CDP support introduced |
| v1.9.0 | Nov 8, 2022 | 4.6.0 | N/A | N/A | Selenium Manager adoption |
| v1.9.3 | Jan 28, 2023 | 4.8.0 | 109 | 109 | CDP v109 devtools |
| v1.9.4 | May 25, 2023 | 4.9.1 | N/A | N/A | DataFaker added |
| v1.9.6 | Aug 1, 2023 | 4.11.0 | 115 | 115 | WebDriverManager removed |
| v2.0.0 | Sep 27, 2023 | 4.13.0 | 117 | 117 | Major version milestone |
| v2.0.1 | Oct 12, 2023 | 4.14.0 | 118 | 118 | selenium-http-jdk-client removed |
| v2.1.0 | Dec 10, 2023 | 4.16.1 | 120 | 120 | CDP v120 devtools |
| v2.2.0 | Jan 26, 2024 | 4.17.0 | 121 | 121 | CDP v121 support |
| v2.2.2 | Apr 2, 2024 | 4.19.1 | 123 | 123 | CDP v123 support |
| v2.2.3 | Apr 26, 2024 | 4.20.0 | 124 | 124 | CDP Network updates |
| v2.3.0 | May 17, 2024 | 4.21.0 | 125 | 125 | CDP v125 Network |
| v2.4.1 | Jun 24, 2024 | 4.22.0 | 126 | 126 | CDP v126 in WebUI |
| v2.4.2 | Jul 26, 2024 | 4.23.0 | 127 | 127 | CDP v127 support |
| v2.4.3 | Aug 14, 2024 | 4.23.1 | N/A | N/A | Library upgrades |
| v2.4.4 | Sep 5, 2024 | 4.24.0 | 128 | 128 | CDP v128 support |
| v2.4.6 | Oct 29, 2024 | 4.25.0 | N/A | N/A | Headless Linux fix |
| v2.4.7 | Nov 1, 2024 | 4.26.0 | 130 | 130 | CDP v130 support |
| v2.4.8 | Dec 17, 2024 | 4.27.0 | 131 | 131 | waitForElementVisible edit |
| v2.4.9 | Jan 25, 2025 | 4.28.1 | 132 | 132 | CDP v132 support |
| v2.5.0 | Feb 23, 2025 | 4.29.0 | 133 | 133 | Package restructure |
| v2.6.0 | May 5, 2025 | 4.32.0 | 136 | 136 | Helper class updates |
| v2.6.1 | Jun 13, 2025 | 4.33.0 | 137 | 137 | CDP v137 support |
| v2.6.2 | Jul 19, 2025 | 4.34.0 | 138 | 138 | CDP v138 support |
| v2.6.5 | Oct 22, 2025 | 4.37.0 | 141 | 141 | Latest WebUI keywords |
Sources: CHANGELOG.txt1-345
Initial Release (v1.0.0 - April 5, 2022)
The foundation release established core framework architecture:
Key Addition: Data-Driven Enhancements (v1.2.0 - April 21, 2022)
WebUI.softAssert()FailureHandling enum for flow control: STOP_ON_FAILURE, CONTINUE_ON_FAILURE, OPTIONALHashtable supportJsonUtilsverifyElementTextEquals(), etc.Sources: CHANGELOG.txt333-345 CHANGELOG.txt312-322
Smart Wait System (v1.6.0 - July 25, 2022)
WebUIconfig.propertiesVIDEO_RECORDZIP_FOLDERCommunication Channels (v1.8.0 - September 19, 2022)
TelegramManager.sendReportPath()WebUI.verifyDownloadFile()WebUI.dragAndDropHTML5(fromElement, toElement)Sources: CHANGELOG.txt262-270 CHANGELOG.txt244-253
Selenium Manager Adoption (v1.9.0 - November 8, 2022)
Critical architectural change eliminating external driver management:
WebDriverManager removed from BrowserFactoryReporting Enhancement (v1.9.1 - November 25, 2022)
ExtentReportManager.addScreenShot() method updatedCaptureHelper.getScreenshot() function addedCDP and Listener Improvements (v1.9.3 - January 28, 2023)
AllureListener implementing io.qameta.allure.listener.TestLifecycleListenerDataFaker and Retry Logic (v1.9.4 - May 25, 2023)
IAnnotationTransformerComplete WebDriverManager Removal (v1.9.6 - August 1, 2023)
WebDriverManager completely eliminated from BrowserFactoryPackage Refactoring (v1.9.8 - September 5, 2023)
anhtester.com to com.anhtesterSources: CHANGELOG.txt220-229 CHANGELOG.txt212-219 CHANGELOG.txt195-204 CHANGELOG.txt185-194 CHANGELOG.txt170-176 CHANGELOG.txt158-163
Major Version 2.0.0 (September 27, 2023)
pom.xmlCDP Version Tracking (v2.0.1 - v2.4.8)
The framework implemented aggressive tracking of CDP versions to maintain Chrome compatibility:
selenium-http-jdk-clientwaitForElementVisible editScreenshot Strategy Enhancement (v2.4.0 - May 22, 2024)
SCREENSHOT_ALL_STEPS configurationconfig.properties enhancementsMethod Optimization (v2.4.5 - September 7, 2024)
Platform Stability (v2.4.6 - October 29, 2024)
Sources: CHANGELOG.txt142-149 CHANGELOG.txt135-141 CHANGELOG.txt123-127 CHANGELOG.txt114-120 CHANGELOG.txt87-100 CHANGELOG.txt55-66 CHANGELOG.txt48-54
Package Reorganization (v2.5.0 - February 23, 2025)
com.anhtester.reports in src/main/java/Helper Class Modernization (v2.6.0 - May 5, 2025)
FileHelpers class updatedSystemHelpers class updatedExcelHelpers class updatedLatest Stable Version (v2.6.5 - October 22, 2025)
Sources: CHANGELOG.txt1-25
The diagram below shows when major feature categories were introduced and enhanced:
Sources: CHANGELOG.txt1-345
| Dependency | Initial Version | Current Version | First Added | Purpose |
|---|---|---|---|---|
| Selenium WebDriver | 4.x (early) | 4.37.0 | v1.0.0 | Browser automation |
| TestNG | 7.x (early) | 7.11.0+ | v1.0.0 | Test framework |
| WebDriverManager | 5.x | Removed | v1.0.0 → v1.9.6 | Driver management (deprecated) |
| Dependency | Initial Version | Current Version | First Added | Purpose |
|---|---|---|---|---|
| ExtentReports | 5.x | 5.1.2+ | v1.0.0 | HTML/PDF reports |
| Allure TestNG | 2.x | 2.29.1+ | v1.0.0 | Interactive reports |
| Dependency | Initial Version | Current Version | First Added | Purpose |
|---|---|---|---|---|
| Apache POI | 5.x | 5.4.1+ | v1.0.0 | Excel file operations |
| DataFaker | N/A | 2.4.4+ | v1.9.4 | Synthetic test data |
| Dependency | Initial Version | Current Version | First Added | Purpose |
|---|---|---|---|---|
| Telegram Bot API | N/A | 8.3.0+ | v1.8.0 | Telegram notifications |
| JavaMail | 1.6.2 | 1.6.2 | v1.0.0 | Email reports |
| Dependency | Initial Version | Current Version | First Added | Purpose |
|---|---|---|---|---|
| Log4j2 | 2.x | 2.24.3+ | v1.0.0 | Application logging |
Sources: CHANGELOG.txt1-345 README.md29-44
The config.properties file has grown significantly to support new features:
| Version | Configuration Added | Purpose |
|---|---|---|
| v1.0.0 | screenshot_failed_steps | Capture failed test screenshots |
| v1.4.0 | screenshot_all_steps | Capture every WebUI action |
| v2.4.0 | Enhanced screenshot policies | SCREENSHOT_PASSED_TCS, SCREENSHOT_SKIPPED_TCS |
| Version | Configuration Added | Purpose |
|---|---|---|
| v1.0.0 | Basic wait timeouts | Implicit/explicit waits |
| v1.4.0 | WAIT_SLEEP_STEP | Pause between actions |
| v1.6.0 | Smart wait system | smartWait configuration |
| v2.4.8 | waitForElementVisible optimization | Improved visibility detection |
| Version | Configuration Added | Purpose |
|---|---|---|
| v1.0.0 | BROWSER | Browser selection |
| v1.6.0 | VIDEO_RECORD | Video capture toggle |
| v1.6.0 | ZIP_FOLDER | Report compression |
| v1.8.0 | SEND_REPORT_TO_TELEGRAM | Telegram notifications |
| v1.9.0 | TARGET, REMOTE_URL, REMOTE_PORT | Selenium Grid support |
| v1.9.4 | Headless mode fixes | Linux/Jenkins compatibility |
Sources: CHANGELOG.txt262-300 src/test/resources/config/config.properties
The framework has deliberately removed certain dependencies and features:
Rationale: Selenium 4.6.0+ includes built-in Selenium Manager that automatically downloads and manages driver binaries, eliminating the need for WebDriverManager.
Impact: Simplified dependency management, reduced external dependencies from pom.xml, automatic driver version compatibility.
| Version | Feature Removed | Rationale |
|---|---|---|
| v1.6.0 | Internet Explorer browser | Browser end-of-life |
| v1.7.0 | Object locators from properties files | Moved to Page Object Model classes |
| v2.0.1 | selenium-http-jdk-client dependency | Redundant with Selenium 4 architecture |
| v2.4.5 | QR Code handling (google.zxing) | Feature optimization, limited usage |
Sources: CHANGELOG.txt220-229 CHANGELOG.txt262-270 CHANGELOG.txt254-261 CHANGELOG.txt135-141 CHANGELOG.txt55-60
| Metric | Value |
|---|---|
| Total Versions Released | 30+ |
| Development Timespan | April 2022 - October 2025 (3.5 years) |
| Selenium Versions Supported | 4.4.0 → 4.37.0 (33 version updates) |
| CDP Versions Tracked | 104 → 141 (24 CDP versions) |
| Major Dependencies | 10+ (Selenium, TestNG, ExtentReports, Allure, POI, DataFaker, Telegram, Log4j2, etc.) |
| Feature Categories | 10 (Execution, Browser, Keywords, Reporting, Data, Config, Notifications, Logging, CI/CD, Utilities) |
| Breaking Changes | 3 (WebDriverManager removal, package refactoring, Page Object Model migration) |
| Configuration Options | 30+ properties in config.properties |
Sources: CHANGELOG.txt1-345 README.md1-599
Refresh this wiki
This wiki was recently refreshed. Please wait 2 days to refresh again.