This project contains automated UI tests for Automation Exercise using Selenium WebDriver with Python and the Page Object Model (POM) design pattern. Tests are implemented with PyTest to ensure maintainability and scalability.
- Clean Page Object Model architecture
- Selenium 4.6+ with automatic WebDriver management (no manual driver setup)
- PyTest integration with fixtures and markers
- Secure handling of credentials via environment variables and GitHub Secrets
- Continuous Integration configured with GitHub Actions
Copy code
automationexercise-selenium-pom/
├── .github/
│ └── workflows/
│ └── ci.yml # GitHub Actions workflow for CI
├── pages/ # Page Object Model classes
│ ├── base_page.py
│ ├── login_page.py
│ └── register_page.py
├── tests/ # Test cases using PyTest
│ ├── test_login.py
│ └── test_register.py
├── utils/ # Utility modules (config, helpers)
│ ├── config.py
│ └── helpers.py
├── .gitignore # Files and folders to ignore in git
├── conftest.py # PyTest fixtures and setup
├── requirements.txt # Python dependencies
├── pytest.ini # PyTest configuration
├── .env # Local environment variables (ignored in git)
└── README.md # Project documentation
Prerequisites Python 3.11 or higher pip package manager
Clone the repository:
Copy code
git clone <repo-url>
cd automationexercise-selenium-pom
Copy code
python -m venv venv
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windows
Copy code
pip install -r requirements.txt
Copy code
AE_USERNAME[email protected]
AE_PASSWORD=your_password
BASE_URL=https://automationexercise.com
Note: Since this project uses Selenium 4.6 or later, the WebDriver binaries (e.g., ChromeDriver) are managed automatically by Selenium — no manual driver downloads or PATH setup needed.
Run all tests with:
Copy code
pytest -v
The project is configured to run tests automatically on push and pull requests via GitHub Actions. Credentials are securely injected using GitHub Secrets.
Feel free to open issues or submit pull requests to improve test coverage or add features.
MIT License
[email protected] linkedin.com/in/hemaps