testkit
No security coverage
Smoke Test Kit (
testkit)
Smoke Test Kit is a contrib-style Drupal utility for defining configurable smoke checks, running them from the admin UI, and storing run history.
Checks are stored as config entities (exportable) and each run persists result records in the database.
Who benefits
- Developers and maintainers: quick regression checks after updates/deploys.
- SDET / QA engineers: repeatable UI-driven smoke validation with history.
- Site builders: validate key routes, views, and access expectations.
- Content managers: confirm critical functionality remains available.
Features (MVP)
- Admin page at
Configuration -> Development -> Smoke Test Kit. - Smoke Check config entity (
testkit_check) with add/edit/delete. - Run actions from UI:
- Run all enabled checks.
- Run selected checks.
- Run one check from row operation.
- Run history page and run details page:
.../smoke-test-kit/runs.../smoke-test-kit/runs/{testkit_run}
- Result persistence with counters, duration, summary, and per-check details/meta.
- Custom plugin system for smoke checks.
- Built-in plugins:
page_check: internal request by path + status/contains/regex assertions.views_check: executes a View display (missing view/display => SKIP).access_check: entity access checks for create/view/update/delete.
- Starter checks action (idempotent, no duplicates).
How to run checks from UI
- Go to
Configuration -> Development -> Smoke Test Kit. - Add checks with Add check (plugin-specific config appears in the form).
- Run checks with:
- Run all enabled
- Run selected
- Run operation per row
- Review outcomes in Runs tab/history and open run details.
Permissions
All UI pages and actions are gated by:
administer smoke test kit
Config export note
Smoke Checks are config entities and can be exported/imported with normal Drupal config workflows (drush cex/cim or UI config sync workflow).
Run history/results are content entities stored in DB and are intentionally not config-synced.
Roadmap (planned, out of MVP)
- Drush commands.
- JUnit export.
- Cron scheduling.
- Notifications.
Contributing
Contributions and issue reports are welcome.