https://github.com/gabrielrezeanu03/automation-testing-project
An automation testing project using Selenium WebDriver with Java. It includes tests for form inputs, radio buttons, checkboxes, dropdowns, and date pickers on a practice automation website.
https://github.com/gabrielrezeanu03/automation-testing-project
java selenium-java selenium-webdriver test-automation test-cases testng ui
Last synced: 5 months ago
JSON representation
An automation testing project using Selenium WebDriver with Java. It includes tests for form inputs, radio buttons, checkboxes, dropdowns, and date pickers on a practice automation website.
- Host: GitHub
- URL: https://github.com/gabrielrezeanu03/automation-testing-project
- Owner: GabrielRezeanu03
- Created: 2024-08-29T17:57:25.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-14T17:58:37.000Z (over 1 year ago)
- Last Synced: 2025-02-12T14:54:35.237Z (over 1 year ago)
- Topics: java, selenium-java, selenium-webdriver, test-automation, test-cases, testng, ui
- Homepage: https://testautomationpractice.blogspot.com/
- Size: 8.09 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
**About Me:**
I'm passionate about turning testing theory into practice through real-world automation projects. I enjoy building reliable frameworks and learning new tools to grow as a QA Engineer.
---
# UI Automation Practice – Test Automation Practice Blog
This project contains automated UI tests I developed while practicing Selenium WebDriver automation on the [Test Automation Practice](https://testautomationpractice.blogspot.com/) demo site.
I focused mainly on interacting with input fields, radio buttons, checkboxes, dropdowns, and date pickers.
---
## What I Did
✅ Built a UI automation framework using Java, Selenium WebDriver, TestNG, and Maven
✅ Implemented Page Object Model (POM) structure for maintainability
✅ Automated form input actions (Name, Email, Phone, Address)
✅ Validated gender selection using radio buttons
✅ Checked existence and functionality of weekly day checkboxes
✅ Selected countries and colors from dropdown menus
✅ Interacted with date picker widget and set specific dates
✅ Used WebDriverManager for easy driver management
---
## Why I Did This
I worked on this project as part of my transition towards automation testing after obtaining my ISTQB CTFL certification.
The goal was to strengthen my practical skills by building a fully functional automation framework — not just learning from tutorials, but applying concepts to a real UI.
---
## Platform I Tested
[https://testautomationpractice.blogspot.com/](https://testautomationpractice.blogspot.com/)
This site offers a variety of UI elements ideal for practicing different types of Selenium interactions.
---
## How to Execute Tests
- To run all tests:
```bash
mvn test
```
- To run a specific test class:
```bash
mvn -Dtest=UserInterfaceTest test
```
---
## Project Organization
The code is organized using the Page Object Model (POM) design pattern, separating page-specific actions from test logic. This improves test maintainability, scalability, and readability.
| Module | Path |
|----------------|-------------------------------------|
| Base Setup | `src/test/java/utilities/BaseTest.java` |
| Page Objects | `src/test/java/pages/UserInterfacePage.java` |
| Test Cases | `src/test/java/tests/UserInterfaceTest.java` |
| Driver | `src/test/resources/chromedriver.exe` |
| Build Config | `pom.xml` |
---
## Challenges Faced
- Handled dynamic cookie consent banners during test execution.
- Implemented custom wait conditions for date picker navigation across months and years.
---
## Tools I Used
- Java 17 (programming language)
- Selenium WebDriver 4.23.1 (browser automation)
- TestNG 7.8.0 (test management)
- Maven (build tool and dependency management)
- WebDriverManager 5.8.0 (driver setup automation)
- Chrome browser (for test execution)
---
## Future Improvements
- Integrate ExtentReports for enhanced graphical HTML reporting.
- Add negative test scenarios for field validations.
- Configure a simple CI/CD pipeline using GitHub Actions.
- Extend test coverage to include more advanced UI interactions.
---
## Note
This is a personal learning project intended to practice automation testing skills.
It is not affiliated with any company, client, or external organization.
---