Thank you for your interest in contributing to robotframework-webservice! This guide will help you set up your local development environment.
- uv installed (fast Python package manager and project manager)
git clone https://github.com/your-org/robotframework-webservice.git
cd robotframework-webservice# Install main dependencies and dev tools
uv syncThis installs all project and development dependencies into a virtual environment.
# On Linux/macOS
source .venv/bin/activate
# On Windows
.venv\Scripts\activateOr prefix commands with uv run:
uv run python --versionRun the test suite using Python's unittest discovery:
# Run all tests
uv run python -m unittest discover -s tests -p "test_*.py"
# Run a specific test file
uv run python -m unittest tests.test_app
# Run a specific test class
uv run python -m unittest tests.test_app.EndpointTesttest_s
# Run a specific test method
uv run python -m unittest tests.test_app.EndpointTesttest_s.test_is_service_available- Install the Python extension (ms-python.python)
- Open the Testing panel (beaker icon in sidebar)
- Tests should auto-discover; click Refresh Tests if needed
- Click on any test to run it, or run all tests
Start the FastAPI web service:
uv run uvicorn RobotFrameworkService.main:app --reloadThe service will be available at http://localhost:8000. View API docs at http://localhost:8000/docs.
The project uses:
- RobotCode – Language server and linter for Robot Framework
- Robocop – Static analysis for Robot Framework
Run checks:
# Lint Robot Framework files
uv run robocop examples/ tests/
# Use RobotCode for analysis (via VS Code extension or CLI)
uv run robotcode --help- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests
- Run tests locally:
uv run python -m unittest discover -s tests -p "test_*.py" - Commit and push:
git push origin feature/your-feature - Open a pull request
Tests not discovered in VS Code?
- Ensure
tests/__init__.pyexists - Run
Python: Discover Testsfrom the command palette - Reload VS Code if needed
Module import errors?
- Verify the virtual environment is active:
uv run python -c "import sys; print(sys.executable)" - Install dependencies:
uv sync