| # Testing Guide for Job Application AI Agent |
|
|
| This guide will help you test the Job Application AI Agent, particularly the batch CV generation functionality that creates multiple tailored CVs based on different job listings. |
|
|
| ## Setup |
|
|
| 1. **Install the application**: |
| ```bash |
| # On Unix-based systems (macOS, Linux) |
| ./install.sh |
| |
| # On Windows |
| install.bat |
| ``` |
|
|
| 2. **Activate the virtual environment**: |
| ```bash |
| # On Unix-based systems (macOS, Linux) |
| source venv/bin/activate |
| |
| # On Windows |
| venv\Scripts\activate.bat |
| ``` |
|
|
| ## Testing Batch CV Generation |
|
|
| ### Method 1: Using the Test Script (Quickest method) |
|
|
| We've included a test script that automates the entire process: |
|
|
| ```bash |
| ./test_batch_processing.py --cv path/to/your/cv_template.docx |
| ``` |
|
|
| This script will: |
| 1. Scrape job listings for "Software Engineer" in "Berlin" (default) |
| 2. Fetch job descriptions for each job |
| 3. Save the jobs to an Excel file |
| 4. Generate tailored CVs for each job |
| 5. Save the CVs to the output directory |
|
|
| You can customize the script with these options: |
| - `--keyword "Data Scientist"` - Change the job title to search for |
| - `--location "Remote"` - Change the location to search in |
| - `--max-jobs 10` - Change the maximum number of jobs to scrape |
| - `--output-dir "/custom/path"` - Specify a custom output directory |
|
|
| ### Method 2: Using the Web Interface (Recommended for beginners) |
|
|
| 1. **Start the web interface**: |
| ```bash |
| job-apply-ai web |
| ``` |
|
|
| 2. **Open the web application**: |
| - Open your browser and go to: http://localhost:5000 |
|
|
| 3. **Upload your CV template**: |
| - Click on "Upload CV" button |
| - Select your CV template file (must be a .docx file) |
| - Click "Upload" |
|
|
| 4. **Search for jobs**: |
| - Enter a job title (e.g., "Software Engineer") |
| - Enter a location (e.g., "Berlin" or "Remote") |
| - Set the maximum number of jobs (e.g., 5) |
| - Click "Search" |
|
|
| 5. **Generate CVs for all jobs**: |
| - On the search results page, click "Tailor CV for All Jobs" |
| - Wait for the process to complete |
| - You'll see a list of all generated CVs |
| - Click "Download All CVs (ZIP)" to download all tailored CVs as a zip file |
|
|
| 6. **Check the generated CVs**: |
| - Extract the downloaded zip file |
| - Open each CV to verify that the skills section has been tailored for each job |
| - Note that each CV filename includes the date, company name, and job title |
|
|
| ### Method 3: Using the Command Line |
|
|
| 1. **Scrape job listings**: |
| ```bash |
| job-apply-ai scrape --keyword "Software Engineer" --location "Berlin" --max-jobs 5 |
| ``` |
| This will save job listings to the `job_apply_ai/outputs/jobs` directory. |
|
|
| 2. **Generate tailored CVs for all jobs**: |
| ```bash |
| job-apply-ai batch --cv path/to/your/cv_template.docx --jobs-file job_apply_ai/outputs/jobs/linkedin_jobs_YYYY-MM-DD.xlsx |
| ``` |
| Replace `path/to/your/cv_template.docx` with the path to your CV template and `YYYY-MM-DD` with the current date. |
|
|
| 3. **Check the generated CVs**: |
| - Go to the `job_apply_ai/outputs/cvs` directory |
| - You'll find multiple CV files, each named with the date, company name, and job title |
| - Open each CV to verify that the skills section has been tailored for each job |
|
|
| ## Testing Individual CV Generation |
|
|
| If you want to test generating a CV for a single job: |
|
|
| 1. **View job details**: |
| - In the web interface, click on "View Details" for a specific job |
| - Review the job description |
|
|
| 2. **Generate a CV for that job**: |
| - Click "Tailor CV for This Job" |
| - Wait for the process to complete |
| - Click "Download Tailored CV" to download the CV |
|
|
| ## Folder Structure |
|
|
| The application uses the following folder structure for outputs: |
|
|
| - `job_apply_ai/outputs/jobs`: Contains Excel files with job listings |
| - `job_apply_ai/outputs/cvs`: Contains generated CV files |
|
|
| Each CV is named using the format: `CV_YYYY-MM-DD_CompanyName_JobTitle.docx` |
|
|
| ## Troubleshooting |
|
|
| If you encounter any issues: |
|
|
| 1. **Check the console output** for error messages |
| 2. **Verify that your CV template has a skills section** (the application looks for headings like "skills", "technical skills", "core competencies", or "expertise") |
| 3. **Make sure job descriptions are being fetched** correctly (view job details in the web interface) |
| 4. **Check file permissions** if you're having trouble saving files |
|
|
| ## Advanced Testing |
|
|
| For advanced testing, you can modify the skills categories in `job_apply_ai/cv_modifier/cv_analyzer.py` to match your specific skills and expertise. |
|
|
| You can also test with different CV templates to see how the application handles different formats. |