GUI Testing for Document Redaction App
This directory contains tests specifically for verifying that the GUI application (app.py
) loads correctly.
Test Files
test_gui_only.py
A standalone script that tests only the GUI functionality. This is useful for:
- Quick verification that the Gradio interface loads without errors
- CI/CD pipelines where you want to test GUI separately from CLI functionality
- Development testing when you only want to check GUI components
Usage:
Option 1 - Manual activation:
conda activate redaction
cd test
python test_gui_only.py
Option 2 - Using helper scripts (Windows):
cd test
# For Command Prompt:
run_gui_test.bat
# For PowerShell:
.\run_gui_test.ps1
test.py
(Updated)
The main test suite now includes both CLI and GUI tests. The GUI tests are in the TestGUIApp
class.
Usage:
Option 1 - Manual activation:
conda activate redaction
cd test
python test.py
Option 2 - Using helper scripts (Windows):
cd test
# For Command Prompt:
run_gui_test.bat
# For PowerShell:
.\run_gui_test.ps1
What the GUI Tests Check
App Import and Initialization (
test_app_import_and_initialization
)- Verifies that
app.py
can be imported without errors - Checks that the Gradio
app
object is created successfully - Ensures the app is a proper Gradio Blocks instance
- Verifies that
App Launch in Headless Mode (
test_app_launch_headless
)- Tests that the app can be launched without opening a browser
- Verifies the Gradio server starts successfully
- Uses threading to prevent blocking the test execution
Configuration Loading (
test_app_configuration_loading
)- Verifies that configuration variables are loaded correctly
- Checks key settings like server port, file size limits, language settings
- Ensures the app has access to all required configuration
Test Requirements
- Conda environment 'redaction' must be activated before running tests
- Python environment with all dependencies installed
- Access to the
tools.config
module - Gradio and related GUI dependencies (including
gradio_image_annotation
) - The
app.py
file in the parent directory
Prerequisites
Before running the GUI tests, ensure you have activated the conda environment:
conda activate redaction
The gradio_image_annotation
package is already installed in the 'redaction' environment.
Expected Behavior
- All tests should pass if the GUI loads correctly
- Tests will fail if there are import errors, missing dependencies, or configuration issues
- The headless launch test may take up to 10 seconds to complete
Troubleshooting
If tests fail:
- Check that all dependencies are installed (
pip install -r requirements.txt
) - Verify that
app.py
exists in the parent directory - Ensure configuration files are properly set up
- Check for any missing environment variables or configuration issues
Integration with CI/CD
These tests are designed to run in headless environments and are suitable for:
- GitHub Actions
- Jenkins pipelines
- Docker containers
- Any automated testing environment
The tests do not require a display or browser to be available.