A comprehensive suite of automated tests for web applications using Selenium WebDriver
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
This project demonstrates automated testing capabilities using Selenium WebDriver, focusing on various web interactions and validations. It includes a comprehensive suite of tests covering different aspects of web application testing, from basic authentication to complex dynamic content handling.
- Purpose: Verify login functionality
- Scenarios:
- Successful login with valid credentials
- Failed login with invalid credentials
- Site: https://the-internet.herokuapp.com/login
- Purpose: Test form submission and validation
- Scenarios:
- Successful form submission
- Form validation with missing fields
- Site: https://ultimateqa.com/filling-out-forms/
- Purpose: Handle JavaScript alerts and prompts
- Scenarios:
- Alert confirmation
- Prompt interaction with text input
- Site: https://the-internet.herokuapp.com/javascript_alerts
- Purpose: Test drag and drop functionality
- Scenarios:
- Element dragging and positioning
- Position verification
- Site: https://the-internet.herokuapp.com/drag_and_drop
- Purpose: Verify file upload functionality
- Scenarios:
- Successful file upload
- Upload verification
- Site: https://the-internet.herokuapp.com/upload
- Purpose: Test dynamic content and controls
- Scenarios:
- Content change detection
- Dynamic control interaction
- Site: https://the-internet.herokuapp.com/dynamic_content
Each test suite can be run independently or as part of the complete test suite:
python ct_login_001/main.py # Authentication tests
python ct_form_001/main.py # Form tests
python ct_alert_001/main.py # Alert tests
python ct_drag_001/main.py # Drag and drop tests
python ct_upload_001/main.py # Upload tests
python ct_dynamic_001/main.py # Dynamic content tests
- Detailed console output with test progress
- Clear success/failure indicators
- Step-by-step execution feedback
- Python 3.6+
- Chrome WebDriver
- pip (Python package installer)
- Git
-
Clone the repository
git clone https://github.com/HeitorLouzeiroRepositoryIFPI/trabalho-final-eng-testes.git
-
Access the project folder
cd trabalho-final-eng-testes
-
Create a virtual environment
python -m venv venv
-
Activate the virtual environment
- Windows
venv\Scripts\activate
- Linux/Mac
source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Download ChromeDriver
- Visit: https://sites.google.com/chromium.org/driver/
- Download the version matching your Chrome browser
- Add to system PATH or project directory
trabalho-final-eng-testes/
│
├── ct_login_001/
│ ├── main.py
│
│
├── ct_form_001/
│ ├── main.py
│
│
├── ct_alert_001/
│ ├── main.py
│
│
├── ct_drag_001/
│ ├── main.py
│
│
├── ct_upload_001/
│ ├── main.py
│
│
├── ct_dynamic_001/
│ ├── main.py
│
│
├── requirements.txt
├── LICENSE
└── README.md
- Implement authentication tests
- Implement form tests
- Implement alert tests
- Implement drag and drop tests
- Implement upload tests
- Implement dynamic content tests
See the open issues for a full list of proposed features and known issues.
Contributions make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Heitor Louzeiro |
Distributed under the MIT License. See LICENSE
for more information.