Practice Test Lab
Active prototype for login-gated practice tests, form interactions, scoring, and automation-ready selectors.
OpenKAMC Lab micro-app
A framework-ready testbed with a demo login, dropdowns, tick boxes, radio buttons, free-text notes, scoring, saved progress, and stable selectors for Cypress, Playwright, or Cucumber automation.
Lab projects
Active prototype for login-gated practice tests, form interactions, scoring, and automation-ready selectors.
OpenUse this page as the first target for E2E checks, fixtures, selectors, and CI smoke coverage.
Review hooksMap the login, test selection, answering, saving, and scoring journeys into Gherkin scenarios.
View journeysInline demo data is shaped so it can later come from an API, JSON fixture, or contract-tested backend.
View contractSemantic forms, labels, fieldsets, aria-live messages, skip links, and keyboard-friendly controls.
View gatesFlags what is demo-only and identifies where Cognito, Supabase, Firebase, or a custom API should attach.
View next stepsInteractive area
Select a test to begin.
Framework contract
The page uses stable IDs and data-testid attributes so it can be driven safely by Cypress, Playwright, or Cucumber step definitions without relying on fragile CSS selectors.
Future integration points
Today the test data is inline. Later, replace the demo adapters with real services while leaving the user journey and selectors intact.
window.KAMC_LAB_CONFIG = {
authMode: 'demo',
apiBase: '',
questionSource: 'inline',
passMark: 70
};
window.KAMCPracticeLab.getState();
window.KAMCPracticeLab.loadTest('qa-foundations');
window.KAMCPracticeLab.reset();
Suggested smoke journeys
Quality gates
Next build step
Once this single file is proven, the likely structure is:
/src
/app
auth-adapter.js
question-bank.js
scoring.js
storage.js
/components
login-form.js
test-dashboard.js
question-renderer.js
/tests
/e2e
/fixtures
/features
index.html
Local demo data
This table uses localStorage for demo purposes only. It should be replaced by a proper user-results service later.
| When | Test | Score | Status |
|---|---|---|---|
| No attempts yet. | |||