This repository contains an automated BDD (Behavior Driven Development) test suite using Playwright to validate the functionality of the UK Government's Holiday Entitlement Calculator.
- Node.js v22 LTS installed
- Clone the repository:
or if downloading ZIP of repo:
git clone https://github.com/tomX12/thomas_parker_technical_task.git cd your-repo-nameExtract into folder of choice cd folder-of-choice - Install Dependencies
npm install
- Install Playwright Browsers
npx playwright install
npm run testnpm run test-uinpm run report- More robust CI pipeline with better outputting of results
- More informative reporter such as Allure, especially as BDD is being used
| Defect | WCAG 2.2 Guideline | Level |
|---|---|---|
| The page title is missing | 2.4.2 Page Titled | A |
| Language of the document is not identified | 3.1.1 Language of Page | A |
| No page regions or ARIA landmarks | 1.3.1 Info and Relationships, 2.4.1 Bypass Blocks | A |
| No first level heading | 1.3.1 Info and Relationships | A |
| Full name input has no corresponding label | 1.3.1 Info and Relationships, 3.3.2 Labels or Instructions | A |
| Email input has no corresponding label | 1.3.1 Info and Relationships, 3.3.2 Labels or Instructions | A |
| Your message input has no corresponding label | 1.3.1 Info and Relationships, 3.3.2 Labels or Instructions | A |
| Image has missing alt text | 1.1.1 Non-text Content | A |
| Focus box not visible while tabbing | 2.4.7 Focus Visible | AA |
Title: Full name input box has no corresponding label
Description: The full name input box has no corresponding label attribute. This means users who navigate the site using the keyboard will not receive the necessary information from their screenreader when they focus on this element. This can cause confusion for the user as they will not know what they need to input into the box.
Steps to reproduce:
- spin up the environment following the steps in the repo
- Navigate to the page via any browser
- Right-click on the Full Name input box and click inspect
- There will be no label attribute in the Full Name element
Expected Outcome: Element should have correct label attribute
Actual Outcome: Element has no label attribute
How often is this defect observed: Every visit to the page
Priority: To be triaged
Date found: 16/06/25
Environment: TEST
Browser: Google Chrome Version 137.0.7151.103 (Official Build) (64-bit)
OS: Linux Mint 22.1
