This repository documents my hands-on journey into UI automation using Selenium.
It is not just a collection of scripts, but a learning-driven project where I explored automation design, debugging strategies, and real-world testing challenges step by step.
The goal of this project is to understand how UI automation actually works in practice — beyond writing scripts — including failures, fixes, and improvements.
This project focuses on automating web UI flows using Selenium, while documenting:
- How test cases are designed
- How locators are chosen and optimized
- How failures are debugged
- How automation evolves with better structure and understanding
Instead of rushing to build a “perfect framework,” I intentionally focused on learning the fundamentals deeply and recording what worked, what failed, and why.
- Automated common user flows such as navigation, form interactions, and validations
- Used Selenium to simulate real user behavior
- Focused on stability rather than speed
- Experimented with different locator types:
- ID
- Name
- XPath
- CSS Selectors
- Learned why some locators fail over time and how to make them more reliable
- Handled common Selenium issues such as:
- Element not found
- Timing issues
- Stale element references
- Learned to debug failures by analyzing logs instead of guessing
- Maintained a written record of:
- Automation decisions
- Mistakes and corrections
- Debugging thought process
This helped me understand automation as a process, not just code execution.
Selenium_UI_Automation_Project/
│
├── README.md
├── UI_Automation_Journey.md
├── debugging_journey.md
├── Codes/
├── pages/
├── login_page.py
├── accounts_page.py
├── register_page.py
└── bill_pay_page.py
|
├── tests/
├── test_login.py
├── test_accounts.py
├── test_register.py
└── test_bill_pay.py
│
├── utils/
└── config.py
│
├── conftest.py
├── pytest.ini
└── requirements.txt
-
README.md
High-level overview of the project and its purpose. -
UI_Automation_Journey.md
A detailed log of how I approached automation, what I learned, and how my understanding evolved. -
debugging_journey.md
Focused documentation on automation failures, root cause analysis, and fixes.
- Selenium WebDriver
- Java / Python (based on test setup)
- Browser automation (Chrome)
- Git & GitHub for version control
- Markdown for documentation
Below are placeholders where I add screenshots from test execution, debugging, and reports.
(Visuals are added progressively as the project evolves.)
This project represents:
- Consistency in learning automation
- Willingness to document failures, not hide them
- A clear transition from manual testing mindset to automation thinking
Instead of copying frameworks, I focused on understanding why automation behaves the way it does.
- Project is actively evolving
- Automation coverage is being expanded
- Documentation is continuously updated as learning improves
- Improve test structure and reusability
- Introduce better waits and synchronization strategies
- Explore framework-level concepts once fundamentals are solid
- Add reporting and execution summaries
This repository reflects my genuine effort to grow into a strong automation engineer.
It shows not only what I know, but how I think, learn, and improve.


