# Complete Setup Guide - Load Testing Environment ## đŸ“Ļ What's Included ### 1. `requirements.txt` Complete list of Python dependencies needed for load testing: - pytest (testing framework) - selenium (browser automation) - webdriver-manager (automatic ChromeDriver management) - And more... ### 2. `setup_load_test_environment.sh` World-class setup script that: - ✅ Checks Python version (3.8+) - ✅ Creates virtual environment - ✅ Installs all dependencies - ✅ Validates Chrome/ChromeDriver - ✅ Verifies function signature - ✅ Creates necessary directories - ✅ Provides clear feedback and next steps ## 🚀 Quick Start ### For Fresh Systems ```bash # 1. Navigate to project cd /home/tech4biz/work/CP_Front_Automation_Test # 2. Run setup script ./setup_load_test_environment.sh # 3. Activate virtual environment (if not auto-activated) source venv/bin/activate # 4. Validate setup python3 tests/load_tests/validate_function_signature.py # 5. Run your first test python3 tests/load_tests/test_generic_load_assessments.py \ --csv your_students.csv \ --start 0 --end 1 \ --workers 1 --headless ``` ## 📋 What the Setup Script Does ### Step-by-Step Process 1. **Python Check** - Verifies Python 3.8+ is installed 2. **pip Check** - Ensures pip is available 3. **Virtual Environment** - Creates/validates venv 4. **Dependencies** - Installs all packages from requirements.txt 5. **Chrome Check** - Verifies Chrome browser (or notes auto-install) 6. **ChromeDriver** - Notes that webdriver-manager handles it automatically 7. **Function Validation** - Validates load test function signature 8. **Project Structure** - Verifies all required files/directories exist 9. **Reports Directory** - Creates reports/load_tests directory 10. **Final Verification** - Tests Python imports ### Output Example ``` ================================================================================ 🚀 World-Class Load Test Environment Setup ================================================================================ Step 1: Checking Python version... ✅ Python 3.10.12 found (>= 3.8 required) Step 2: Checking pip... ✅ pip3 found Step 3: Setting up virtual environment... ✅ Virtual environment created Step 4: Activating virtual environment... ✅ Virtual environment activated Step 5: Upgrading pip... ✅ pip upgraded to latest version Step 6: Installing Python dependencies... ✅ All Python dependencies installed Step 7: Checking Chrome browser... ✅ Chrome found: Google Chrome 120.0.6099.109 Step 8: Checking ChromeDriver... âš ī¸ ChromeDriver not found in PATH â„šī¸ webdriver-manager will automatically download and manage ChromeDriver ✅ ChromeDriver will be handled automatically Step 9: Validating load test function signature... ✅ Function signature validation passed Step 10: Validating project structure... ✅ Directory exists: pages ✅ Directory exists: utils ✅ Directory exists: tests/load_tests ✅ Directory exists: config ✅ File exists: tests/load_tests/test_generic_load_assessments.py ✅ File exists: config/config.py Step 11: Creating reports directory... ✅ Reports directory created: reports/load_tests Step 12: Final verification... ✅ Core dependencies imported successfully ✅ Python imports working correctly ================================================================================ ✅ Setup Complete! ================================================================================ 📋 Next Steps: ... ``` ## 🔧 Manual Setup (Alternative) If you prefer manual setup or the script doesn't work: ```bash # 1. Create virtual environment python3 -m venv venv # 2. Activate it source venv/bin/activate # 3. Upgrade pip pip install --upgrade pip # 4. Install dependencies pip install -r requirements.txt # 5. Validate python3 tests/load_tests/validate_function_signature.py ``` ## ✅ Verification Checklist After setup, verify everything works: - [ ] Virtual environment created and activated - [ ] All dependencies installed (`pip list` shows selenium, pytest, etc.) - [ ] Function signature validated (no errors) - [ ] Chrome browser accessible - [ ] Project structure intact - [ ] Reports directory created ## 🐛 Troubleshooting ### Issue: "Permission denied" when running setup script **Solution:** ```bash chmod +x setup_load_test_environment.sh ./setup_load_test_environment.sh ``` ### Issue: "Python 3 not found" **Solution:** ```bash # Ubuntu/Debian sudo apt-get update sudo apt-get install python3 python3-pip python3-venv # Or check if python3 is installed which python3 ``` ### Issue: "pip install fails" **Solution:** ```bash # Upgrade pip first python3 -m pip install --upgrade pip # Then install requirements pip install -r requirements.txt ``` ### Issue: "Chrome not found" **Solution:** ```bash # Ubuntu/Debian wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb sudo apt-get install -f # Fix dependencies if needed ``` **Note:** webdriver-manager will handle ChromeDriver automatically, so you don't need to install it manually. ## 📚 Related Files - `requirements.txt` - Python dependencies - `setup_load_test_environment.sh` - Automated setup script - `tests/load_tests/README.md` - Complete documentation - `tests/load_tests/QUICK_START.md` - Quick reference - `tests/load_tests/validate_function_signature.py` - Validation script ## đŸŽ¯ Next Steps After setup is complete: 1. **Validate Setup:** ```bash python3 tests/load_tests/validate_function_signature.py ``` 2. **Run First Test:** ```bash python3 tests/load_tests/test_generic_load_assessments.py \ --csv your_students.csv \ --start 0 --end 1 \ --workers 1 --headless ``` 3. **Read Documentation:** - Full guide: `tests/load_tests/README.md` - Quick start: `tests/load_tests/QUICK_START.md` --- **Status:** ✅ Production Ready **Last Updated:** 2025-12-12