Log in as standard_user and verify the dashboard
Log in as standard_user and verify the Account dashboard heading and signed-in identity.
76 executable exercises · TypeScript first
Build from resilient locators to API-assisted setup, reusable authentication, network failure handling, and realistic ecommerce flows.
Log in as standard_user and verify the Account dashboard heading and signed-in identity.
Click the Good DOM primary action using its accessible role and name.
Fill the labelled name and email fields and assert their values.
Submit the customer form with an invalid synthetic email and verify its validation state.
Find Rahul Sharma in Engineering and assert the row contains Pune.
Open product prd-001 and verify its stock status is visible.
Accept the alert and verify the visible alert result.
Trigger the 1,000 ms delayed text and wait for the final assertion target.
Search for laptop, set maximum price to ₹50,000, add the matching item, and verify cart quantity one.
Filter Active employees in Pune, sort by salary, and assert the visible rows.
Start the controlled request, observe Loading, then assert completion.
Use frameLocator to fill and submit the nested form, then verify its result.
Upload a valid CSV and verify its accepted filename and content classification.
Save standard_user browser state and reuse it in a fresh context.
Create a user, read it by returned ID, and compare the fields.
Fulfil the catalogue request with an empty data array and assert the empty state.
Fill the prompt and verify the page echoes the supplied value.
POST a customer and verify it appears in the Customer API table.
Authenticate as standard_user, call the Manager-only API, and verify 403.
Add a product, sign in, complete fake checkout, and verify the order through the API.
Fetch the real catalogue response, rename one product, and fulfil the request.
Attempt to upload an SVG with a script and verify safe rejection.
Run the failing test with trace, diagnose the race, and replace the eager read with a web-first assertion.
Use the trace DOM snapshot to diagnose strict-mode ambiguity and scope the locator.
Diagnose the event ordering with trace/video/console evidence and register the handler before the click.
Authenticate through the API, reuse the session in Playwright, intercept the orders API with HTTP 500, and verify the visible error state.
Create independent sessions, mutate one, prove isolation, then reset and verify seed restoration.
Arm the malformed scenario, verify the explicit error, retry, and verify products return.
Open Employee Management, filter Engineering employees, and assert one active row by role and name.
Search for a synthetic employee, then use directory pagination and verify the page label changes predictably.
Create a synthetic employee with the Practice API, then search for its deterministic ID in the directory.
Edit an existing employee, change the role and status, and verify the same row displays both values.
Delete a synthetic employee, accept the confirmation dialog, reset the sandbox, and verify seed results return.
Create an employee in one header-mode Lab session, prove it is absent in another, then reset the first session.
Filter the Ticketing queue to open high-priority work and assert a visible row.
Search for a synthetic ticket, clear the query, then verify the next page changes predictably.
Create a ticket with a Lab session and CSRF token, then search for its subject in the Ticketing app.
Edit one ticket, set it to pending, change assignee, and save a Bug label.
Open a ticket history, create or edit a ticket, then reset the sandbox.
Create a ticket in one header-mode session, prove it is absent from another, then reset the first.
Choose a destination and valid dates, then assert a visible available room and rate.
Switch between limited and sold-out scenarios and assert their distinct visible states.
Select an available room and rate, confirm a fake guest reservation, and verify its generated reference.
Create a booking with the Practice API and verify its guest name and rate in the booking directory.
Confirm a synthetic booking, open the cancellation dialog, and accept its cancel action.
Create a booking in one explicit Lab session, prove another cannot observe it, then reset the first session.
Open the refresh scenario, run one explicit poll, and assert the first ordered event.
Select the ordering scenario, run two steps, and prove the table is sorted by sequence.
Run the reconnect loss step, then the explicit recovery step, and assert their different request behavior.
Run the controlled fault, mock the next ticket request, and assert the recovery message.
Open ?scenario=fault and verify the selected control, empty event log, and zero poll count.
Complete a refresh or recovery sequence and prove that no extra request is initiated after the final visible state.
Activate Trigger open shadow action and assert the named result.
Locate the synthetic summary and assert its documented slot assignment.
Fill Shadow profile name with Asha Learner, submit, and assert the named result.
Activate Run nested shadow action and assert the inner result.
Assert the closed host contract, prove its public shadowRoot is null, and prove a scoped button locator finds no internal control.
Write one spec that exercises the open action and shadow form, then asserts the closed host boundary without reaching for its internal button.
Open v1, wait for local fonts, and capture the reviewed desktop baseline.
Assert that v1 is Approved with 5 / 5 owned checks and documents the purple baseline.
Capture v1 at the documented 834 × 1112 tablet viewport.
Compare v1 and v2 semantic contracts and review their screenshots.
Capture v2 at 390 × 844 and assert that the release dashboard remains readable.
Write one suite that validates both versions at desktop, tablet, and mobile sizes with reviewed baselines.
Intercept the documented Store catalogue request, fulfil it with a replacement product, and assert the rendered row.
Fulfil the documented request with HTTP 200 and data: [], then assert the empty response message.
Return HTTP 503 on the first request, then fulfil the learner-controlled retry with one replacement product.
Abort the documented request and assert its labelled network-error state and explicit retry control.
Delay one route fulfilment for a bounded 150 ms, assert the in-progress status, then assert the fulfilled row.
Fulfil the request with an item missing name and price, then assert the controlled contract-mismatch outcome and learner retry.
Sign in, start MFA enrollment, verify the documented public OTP, and assert that the enrollment becomes enabled.
Create an Admin challenge with the public credentials, verify its OTP, and assert both the required policy and signed-in dashboard.
Request the expired scenario and verify it with the documented OTP.
Enable MFA for admin_user, use the public recovery code, then complete the returned recovery challenge.
Submit an incorrect OTP three times for one valid challenge.
Verify an Admin MFA challenge, save browser storage state, and reuse it to read the current authenticated identity.
Starter projects
TypeScript is the complete cloneable starter. Python and Java include setup pointers and three equivalent examples each.
Learning objective
Choose a challenge at the right difficulty, attempt it against a stable fixture, then use progressive hints and the solution only as needed.
Continue learning