A Python-based API test automation framework designed for testing the Meme Maker API. This framework demonstrates a robust approach to API testing, providing tools for functional, regression, and performance testing.
- API Testing: Comprehensive validation of API endpoints and responses
- Load Testing: Performance evaluation using Locust
- Rich Reporting: Detailed test reports with Allure
- Structured Logging: Custom logging configuration
- Data-Driven Testing: Separation of test data from test logic
Category | Technology |
---|---|
Language | Python 3.9+ |
Testing Framework | pytest |
Load Testing | Locust |
Reporting | Allure |
Version Control | Git |
- Python 3.9 or higher
- pip (Python package installer)
- Git
- Allure (for reporting)
- Clone the Repository
git clone https://github.com/Summerduck/api-test-automation-meme.git
cd api-test-automation-meme
- Set Up Virtual Environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install Dependencies
pip install -r requirements.txt
- Run Tests
# Run all tests
pytest
# Generate and view Allure report
allure serve test-report
# Run load tests
locust -f locustfiles/locustfile.py --host=http://167.172.172.115:52355
Category | Description | Command |
---|---|---|
API Tests | Functional API testing | pytest |
Load Tests | Performance and load testing | locust -f locustfiles/locustfile.py |
api-test-automation-meme/
├── data/ # Test data files
│ └── ...
├── endpoints/ # API endpoint definitions
│ └── ...
├── locustfiles/ # Locust load testing scripts
│ └── ...
├── tests/ # Test cases
│ └── ...
├── .gitignore
├── LICENSE
├── README.md
├── api_documentation.md # API documentation
├── conftest.py # Pytest configuration
├── pytest.ini # Pytest settings
├── requirements.txt # Python dependencies
├── rlogger.py # Custom logging configuration
└── test-report/ # Allure test reports
- API-focused Architecture: Purpose-built for API testing
- Clean Code: Maintainable, well-documented test suites
- Performance Testing: Built-in capabilities for load testing
- Detailed Reporting: Comprehensive test result visualization
- Docker containerization
- Jenkins CI/CD integration
- Security testing integration
- Extended performance metrics
Darya Samardak - LinkedIn - GitHub
This project is licensed under the MIT License - see the LICENSE file for details.