CI/CD Guide
This project uses GitHub Actions to run automated tests on every push and pull request.
Workflow Summary
- Install dependencies
- Run API tests
- Run UI tests in headless Chrome
Workflow File
See: .github/workflows/ci.yml
How to Trigger
- Push a commit to
main or open a Pull Request.
- Open the Actions tab in GitHub and watch the workflow run.
- Each job shows real-time logs — click a step to expand it.
Running Specific Test Groups in CI
To run only API or UI tests, use pytest markers:
- run: pytest -m api # API tests only
- run: pytest -m ui # UI tests only
Markers are defined in pytest.ini:
[pytest]
markers =
api: REST API tests
ui: Selenium UI tests
Common Troubleshooting
- Selenium errors: Verify Chrome and chromedriver are installed correctly in the runner.
- Flaky UI tests: Use explicit waits in Selenium. See Best Practices.
- Dependency issues: Pin versions in
requirements.txt if needed.
- Formatting failures: Run
black . locally before pushing.