WebAutomation_Allure is a hybrid web automation framework implemented in Java using Selenium WebDriver and TestNG.
This framework supports multiple browsers and platforms, uses Allure Reporting, and follows the Page Object Model (POM) design pattern for scalable, maintainable test automation.
-
🚀 Cross-Browser Support
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Internet Explorer
- Opera
- HTMLUnit (Headless)
-
🧠 Hybrid Design Pattern
- Page Object Model (POM)
- Modular test layers
-
📊 Reporting
- Allure Reports for visually rich test results
-
📌 Data-Driven Testing
- Excel-based TestNG
@DataProviders
- Excel-based TestNG
-
🎥 Video recording support through Monte Repack integration
-
🧪 Structured TestNG suite
flowchart TD
A[WebAutomation_Allure<br/>Root Project] --> B[src]
B --> C[main]
C --> D[java]
D --> E[base<br/><small>Driver + Test Base</small>]
D --> F[pages<br/><small>Page Object Model Classes</small>]
D --> G[utils<br/><small>Helpers & Common Utilities</small>]
D --> H[config<br/><small>Framework Configurations</small>]
B --> I[test]
I --> J[java]
J --> K[tests<br/><small>TestNG Test Classes</small>]
J --> L[dataproviders<br/><small>Excel / Data Provider Logic</small>]
J --> M[listeners<br/><small>TestNG + Reporting Hooks</small>]
A --> N[pom.xml<br/><small>Maven Config</small>]
A --> O[testng.xml<br/><small>Suite Definition</small>]
A --> P[README.md]
A --> Q[LICENSE]
A --> R[target<br/><small>Build Output</small>]
A --> S[allure-results<br/><small>Execution Artifacts</small>]
A --> T[logs<br/><small>Execution Logs</small>]
WebAutomation_Allure/ ├─ src/ │ ├─ main/java/... # Page Objects & Utils │ └─ test/java/... # Test classes ├─ pom.xml # Maven config ├─ testng.xml # TestNG suite config ├─ README.md └─ LICENSE.md
Make sure you have the following installed:
- Java JDK 8+
- Maven
- Allure Commandline (optional, for generating reports)
- Browser Drivers - Now Managed directly from Selenium
- Preferred IDE (IntelliJ / Eclipse / VSCode)
Clone the repository:
git clone https://github.com/GladsonAntony/WebAutomation_Allure.gitRun tests using Maven:
mvn clean testBy default, a browser is picked from the configuration file. Override during runtime using:
mvn clean test -DBrowserType=Chrome # Chrome
mvn clean test -DBrowserType=Firefox # Firefox
mvn clean test -DBrowserType=IE # Internet Explorer
mvn clean test -DBrowserType=Opera # Opera
mvn clean test -DBrowserType=Edge # Edge
mvn clean test -DBrowserType=Unit # HTMLUnit (Headless)After test execution:
Generate the site:
mvn siteOpen the Allure report:
mvn allure:serveOr host it:
mvn jetty:run -Djetty.http.port=9988Excel test data is supported in two ways:
Sheet names must match the test method names:
@DataProvider(name="multiSheetExcelRead", parallel=true)
public static Object[][] multiSheetExcelRead(Method method) throws Exception {
File file = new File("./src/test/resources/Excel Files/TestData.xlsx");
String sheetName = method.getName();
return ExcelUtils.getTableArray(file.getAbsolutePath(), sheetName);
} @DataProvider(name="excelSheetNameAsMethodName", parallel=true)
public static Object[][] excelSheetNameAsMethodName(Method method) throws Exception {
File file = new File("./src/test/resources/Excel Files/" + method.getName() + ".xlsx");
return ExcelUtils.getTableArray(file.getAbsolutePath());
}✔ Keep test data separate from code ✔ Use descriptive test names ✔ Follow consistent naming conventions ✔ Modularize page objects and utilities ✔ Utilize Allure attachments for screenshots and logs
This project is licensed under the Apache-2.0 License — see the LICENSE.md file for details.
Contributions, issues, and feature requests are welcome! Feel free to check issues and submit pull requests.
This framework is based on industry standards for scalable automation solutions.